Files
hustoj/web/python-docs/tutorial/venv.html
2025-03-09 17:10:56 +08:00

390 lines
27 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>12. 虚拟环境和包 &#8212; Python 3.8.20 文档</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<script src="../_static/translations.js"></script>
<script src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="在 Python 3.8.20 文档 中搜索"
href="../_static/opensearch.xml"/>
<link rel="author" title="关于这些文档" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜索" href="../search.html" />
<link rel="copyright" title="版权所有" href="../copyright.html" />
<link rel="next" title="13. 接下来?" href="whatnow.html" />
<link rel="prev" title="11. 标准库简介 —— 第二部分" href="stdlib2.html" />
<link rel="canonical" href="https://docs.python.org/3/tutorial/venv.html" />
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
<link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/menu.js"></script>
</head>
<body>
<div class="mobile-nav">
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
<label for="menuToggler" class="toggler__label">
<span></span>
</label>
<nav class="nav-content" role="navigation">
<a href="https://www.python.org/" class="nav-logo">
<img src="../_static/py.svg" alt="Logo"/>
</a>
<div class="version_switcher_placeholder"></div>
<form role="search" class="search" action="../search.html" method="get">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
<path fill-rule="nonzero"
d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" fill="#444"></path>
</svg>
<input type="text" name="q" aria-label="快速搜索"/>
<input type="submit" value="转向"/>
</form>
</nav>
<div class="menu-wrapper">
<nav class="menu" role="navigation" aria-label="main navigation">
<div class="language_switcher_placeholder"></div>
<h3><a href="../contents.html">目录</a></h3>
<ul>
<li><a class="reference internal" href="#">12. 虚拟环境和包</a><ul>
<li><a class="reference internal" href="#introduction">12.1. 概述</a></li>
<li><a class="reference internal" href="#creating-virtual-environments">12.2. 创建虚拟环境</a></li>
<li><a class="reference internal" href="#managing-packages-with-pip">12.3. 使用pip管理包</a></li>
</ul>
</li>
</ul>
<h4>上一个主题</h4>
<p class="topless"><a href="stdlib2.html"
title="上一章"><span class="section-number">11. </span>标准库简介 —— 第二部分</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="whatnow.html"
title="下一章"><span class="section-number">13. </span>接下来?</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/tutorial/venv.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div id="outdated-warning" style="padding: .5em; text-align: center; background-color: #FFBABA; color: #6A0E0E;">
这个文档所针对的是一个已不再受支持的 Python 旧版本。
你应当升级版本,并阅读
<a href="/3/tutorial/venv.html"> Python 当前稳定版本的文档</a>.
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
accesskey="I">索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="whatnow.html" title="13. 接下来?"
accesskey="N">下一页</a> |</li>
<li class="right" >
<a href="stdlib2.html" title="11. 标准库简介 —— 第二部分"
accesskey="P">上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Python 教程</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="virtual-environments-and-packages">
<span id="tut-venv"></span><h1><span class="section-number">12. </span>虚拟环境和包<a class="headerlink" href="#virtual-environments-and-packages" title="永久链接至标题"></a></h1>
<section id="introduction">
<h2><span class="section-number">12.1. </span>概述<a class="headerlink" href="#introduction" title="永久链接至标题"></a></h2>
<p>Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库因为应用程序可能需要修复特定的错误或者可以使用库的过时版本的接口编写应用程序。</p>
<p>这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本则需求存在冲突安装版本1.0或2.0将导致某一个应用程序无法运行。</p>
<p>这个问题的解决方案是创建一个 <a class="reference internal" href="../glossary.html#term-virtual-environment"><span class="xref std std-term">virtual environment</span></a>一个目录树其中安装有特定Python版本以及许多其他包。</p>
<p>然后,不同的应用将可以使用不同的虚拟环境。 要解决先前需求相冲突的例子,应用程序 A 可以拥有自己的 安装了 1.0 版本的虚拟环境,而应用程序 B 则拥有安装了 2.0 版本的另一个虚拟环境。 如果应用程序 B 要求将某个库升级到 3.0 版本,也不会影响应用程序 A 的环境。</p>
</section>
<section id="creating-virtual-environments">
<h2><span class="section-number">12.2. </span>创建虚拟环境<a class="headerlink" href="#creating-virtual-environments" title="永久链接至标题"></a></h2>
<p>用于创建和管理虚拟环境的模块称为 <a class="reference internal" href="../library/venv.html#module-venv" title="venv: Creation of virtual environments."><code class="xref py py-mod docutils literal notranslate"><span class="pre">venv</span></code></a><a class="reference internal" href="../library/venv.html#module-venv" title="venv: Creation of virtual environments."><code class="xref py py-mod docutils literal notranslate"><span class="pre">venv</span></code></a> 通常会安装你可用的最新版本的 Python。如果您的系统上有多个版本的 Python您可以通过运行 <code class="docutils literal notranslate"><span class="pre">python3</span></code> 或您想要的任何版本来选择特定的Python版本。</p>
<p>要创建虚拟环境,请确定要放置它的目录,并将 <a class="reference internal" href="../library/venv.html#module-venv" title="venv: Creation of virtual environments."><code class="xref py py-mod docutils literal notranslate"><span class="pre">venv</span></code></a> 模块作为脚本运行目录路径:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">venv</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">env</span>
</pre></div>
</div>
<p>如果 <code class="docutils literal notranslate"><span class="pre">tutorial-env</span></code> 目录不存在它将为你创建一个并在其中创建包含Python解释器标准库和各种支持文件的副本的目录。</p>
<p>虚拟环境的常用目录位置是 <code class="docutils literal notranslate"><span class="pre">.venv</span></code>。 这个名称通常会令该目录在你的终端中保持隐藏,从而避免需要对所在目录进行额外解释的一般名称。 它还能防止与某些工具所支持的 <code class="docutils literal notranslate"><span class="pre">.env</span></code> 环境变量定义文件发生冲突。</p>
<p>创建虚拟环境后,您可以激活它。</p>
<p>在Windows上运行:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">tutorial</span><span class="o">-</span><span class="n">env</span>\<span class="n">Scripts</span>\<span class="n">activate</span><span class="o">.</span><span class="n">bat</span>
</pre></div>
</div>
<p>在Unix或MacOS上运行:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">source</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">env</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
</pre></div>
</div>
<p>这个脚本是为bash shell编写的。如果你使用 <strong class="program">csh</strong><strong class="program">fish</strong> shell你应该改用 <code class="docutils literal notranslate"><span class="pre">activate.csh</span></code><code class="docutils literal notranslate"><span class="pre">activate.fish</span></code> 脚本。)</p>
<p>激活虚拟环境将改变你所用终端的提示符,以显示你正在使用的虚拟环境,并修改环境以使 <code class="docutils literal notranslate"><span class="pre">python</span></code> 命令所运行的将是已安装的特定 Python 版本。 例如:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">source</span><span class="w"> </span>~/envs/tutorial-env/bin/activate
<span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>python
Python<span class="w"> </span><span class="m">3</span>.5.1<span class="w"> </span><span class="o">(</span>default,<span class="w"> </span>May<span class="w"> </span><span class="m">6</span><span class="w"> </span><span class="m">2016</span>,<span class="w"> </span><span class="m">10</span>:59:36<span class="o">)</span>
<span class="w"> </span>...
&gt;&gt;&gt;<span class="w"> </span>import<span class="w"> </span>sys
&gt;&gt;&gt;<span class="w"> </span>sys.path
<span class="o">[</span><span class="s1">&#39;&#39;</span>,<span class="w"> </span><span class="s1">&#39;/usr/local/lib/python35.zip&#39;</span>,<span class="w"> </span>...,
<span class="s1">&#39;~/envs/tutorial-env/lib/python3.5/site-packages&#39;</span><span class="o">]</span>
&gt;&gt;&gt;
</pre></div>
</div>
</section>
<section id="managing-packages-with-pip">
<h2><span class="section-number">12.3. </span>使用pip管理包<a class="headerlink" href="#managing-packages-with-pip" title="永久链接至标题"></a></h2>
<p>你可以使用一个名为 <strong class="program">pip</strong> 的程序来安装、升级和移除软件包。 默认情况下 <code class="docutils literal notranslate"><span class="pre">pip</span></code> 将从 Python Package Index &lt;<a class="reference external" href="https://pypi.org">https://pypi.org</a>&gt; 安装软件包。 你可以在你的 web 浏览器中查看 Python Package Index。</p>
<p><code class="docutils literal notranslate"><span class="pre">pip</span></code> 有许多子命令: &quot;install&quot;, &quot;uninstall&quot;, &quot;freeze&quot; 等等。 (请在 <a class="reference internal" href="../installing/index.html#installing-index"><span class="std std-ref">安装 Python 模块</span></a> 指南页查看完整的 <code class="docutils literal notranslate"><span class="pre">pip</span></code> 文档。)</p>
<p>您可以通过指定包的名称来安装最新版本的包:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>novas
Collecting<span class="w"> </span>novas
<span class="w"> </span>Downloading<span class="w"> </span>novas-3.1.1.3.tar.gz<span class="w"> </span><span class="o">(</span>136kB<span class="o">)</span>
Installing<span class="w"> </span>collected<span class="w"> </span>packages:<span class="w"> </span>novas
<span class="w"> </span>Running<span class="w"> </span>setup.py<span class="w"> </span>install<span class="w"> </span><span class="k">for</span><span class="w"> </span>novas
Successfully<span class="w"> </span>installed<span class="w"> </span>novas-3.1.1.3
</pre></div>
</div>
<p>您还可以通过提供包名称后跟 <code class="docutils literal notranslate"><span class="pre">==</span></code> 和版本号来安装特定版本的包:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span><span class="nv">requests</span><span class="o">==</span><span class="m">2</span>.6.0
Collecting<span class="w"> </span><span class="nv">requests</span><span class="o">==</span><span class="m">2</span>.6.0
<span class="w"> </span>Using<span class="w"> </span>cached<span class="w"> </span>requests-2.6.0-py2.py3-none-any.whl
Installing<span class="w"> </span>collected<span class="w"> </span>packages:<span class="w"> </span>requests
Successfully<span class="w"> </span>installed<span class="w"> </span>requests-2.6.0
</pre></div>
</div>
<p>如果你重新运行这个命令,<code class="docutils literal notranslate"><span class="pre">pip</span></code> 会注意到已经安装了所请求的版本并且什么都不做。您可以提供不同的版本号来获取该版本,或者您可以运行 <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">--upgrade</span></code> 将软件包升级到最新版本:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>--upgrade<span class="w"> </span>requests
Collecting<span class="w"> </span>requests
Installing<span class="w"> </span>collected<span class="w"> </span>packages:<span class="w"> </span>requests
<span class="w"> </span>Found<span class="w"> </span>existing<span class="w"> </span>installation:<span class="w"> </span>requests<span class="w"> </span><span class="m">2</span>.6.0
<span class="w"> </span>Uninstalling<span class="w"> </span>requests-2.6.0:
<span class="w"> </span>Successfully<span class="w"> </span>uninstalled<span class="w"> </span>requests-2.6.0
Successfully<span class="w"> </span>installed<span class="w"> </span>requests-2.7.0
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">uninstall</span></code> 后跟一个或多个包名称将从虚拟环境中删除包。</p>
<p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">show</span></code> 将显示有关特定包的信息:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>show<span class="w"> </span>requests
---
Metadata-Version:<span class="w"> </span><span class="m">2</span>.0
Name:<span class="w"> </span>requests
Version:<span class="w"> </span><span class="m">2</span>.7.0
Summary:<span class="w"> </span>Python<span class="w"> </span>HTTP<span class="w"> </span><span class="k">for</span><span class="w"> </span>Humans.
Home-page:<span class="w"> </span>http://python-requests.org
Author:<span class="w"> </span>Kenneth<span class="w"> </span>Reitz
Author-email:<span class="w"> </span>me@kennethreitz.com
License:<span class="w"> </span>Apache<span class="w"> </span><span class="m">2</span>.0
Location:<span class="w"> </span>/Users/akuchling/envs/tutorial-env/lib/python3.4/site-packages
Requires:
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">list</span></code> 将显示虚拟环境中安装的所有软件包:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>list
novas<span class="w"> </span><span class="o">(</span><span class="m">3</span>.1.1.3<span class="o">)</span>
numpy<span class="w"> </span><span class="o">(</span><span class="m">1</span>.9.2<span class="o">)</span>
pip<span class="w"> </span><span class="o">(</span><span class="m">7</span>.0.3<span class="o">)</span>
requests<span class="w"> </span><span class="o">(</span><span class="m">2</span>.7.0<span class="o">)</span>
setuptools<span class="w"> </span><span class="o">(</span><span class="m">16</span>.0<span class="o">)</span>
</pre></div>
</div>
<p><cite>pip freeze`</cite> 将生成一个类似的已安装包列表,但输出使用 <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> 期望的格式。一个常见的约定是将此列表放在 <code class="docutils literal notranslate"><span class="pre">requirements.txt</span></code> 文件中:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>freeze<span class="w"> </span>&gt;<span class="w"> </span>requirements.txt
<span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>cat<span class="w"> </span>requirements.txt
<span class="nv">novas</span><span class="o">==</span><span class="m">3</span>.1.1.3
<span class="nv">numpy</span><span class="o">==</span><span class="m">1</span>.9.2
<span class="nv">requests</span><span class="o">==</span><span class="m">2</span>.7.0
</pre></div>
</div>
<p>然后可以将 <code class="docutils literal notranslate"><span class="pre">requirements.txt</span></code> 提交给版本控制并作为应用程序的一部分提供。然后用户可以使用 <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">-r</span></code> 安装所有必需的包:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>tutorial-env<span class="o">)</span><span class="w"> </span>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>requirements.txt
Collecting<span class="w"> </span><span class="nv">novas</span><span class="o">==</span><span class="m">3</span>.1.1.3<span class="w"> </span><span class="o">(</span>from<span class="w"> </span>-r<span class="w"> </span>requirements.txt<span class="w"> </span><span class="o">(</span>line<span class="w"> </span><span class="m">1</span><span class="o">))</span>
<span class="w"> </span>...
Collecting<span class="w"> </span><span class="nv">numpy</span><span class="o">==</span><span class="m">1</span>.9.2<span class="w"> </span><span class="o">(</span>from<span class="w"> </span>-r<span class="w"> </span>requirements.txt<span class="w"> </span><span class="o">(</span>line<span class="w"> </span><span class="m">2</span><span class="o">))</span>
<span class="w"> </span>...
Collecting<span class="w"> </span><span class="nv">requests</span><span class="o">==</span><span class="m">2</span>.7.0<span class="w"> </span><span class="o">(</span>from<span class="w"> </span>-r<span class="w"> </span>requirements.txt<span class="w"> </span><span class="o">(</span>line<span class="w"> </span><span class="m">3</span><span class="o">))</span>
<span class="w"> </span>...
Installing<span class="w"> </span>collected<span class="w"> </span>packages:<span class="w"> </span>novas,<span class="w"> </span>numpy,<span class="w"> </span>requests
<span class="w"> </span>Running<span class="w"> </span>setup.py<span class="w"> </span>install<span class="w"> </span><span class="k">for</span><span class="w"> </span>novas
Successfully<span class="w"> </span>installed<span class="w"> </span>novas-3.1.1.3<span class="w"> </span>numpy-1.9.2<span class="w"> </span>requests-2.7.0
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">pip</span></code> 有更多选择。有关 <code class="docutils literal notranslate"><span class="pre">pip</span></code> 的完整文档,请参阅 <a class="reference internal" href="../installing/index.html#installing-index"><span class="std std-ref">安装 Python 模块</span></a> 指南。当您编写一个包并希望在 Python 包索引中使它可用时,请参考 <a class="reference internal" href="../distributing/index.html#distributing-index"><span class="std std-ref">分发 Python 模块</span></a> 指南。</p>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../contents.html">目录</a></h3>
<ul>
<li><a class="reference internal" href="#">12. 虚拟环境和包</a><ul>
<li><a class="reference internal" href="#introduction">12.1. 概述</a></li>
<li><a class="reference internal" href="#creating-virtual-environments">12.2. 创建虚拟环境</a></li>
<li><a class="reference internal" href="#managing-packages-with-pip">12.3. 使用pip管理包</a></li>
</ul>
</li>
</ul>
<h4>上一个主题</h4>
<p class="topless"><a href="stdlib2.html"
title="上一章"><span class="section-number">11. </span>标准库简介 —— 第二部分</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="whatnow.html"
title="下一章"><span class="section-number">13. </span>接下来?</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/tutorial/venv.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
>索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="whatnow.html" title="13. 接下来?"
>下一页</a> |</li>
<li class="right" >
<a href="stdlib2.html" title="11. 标准库简介 —— 第二部分"
>上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 教程</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">版权所有</a> 2001-2024, Python Software Foundation.
<br />
This page is licensed under the Python Software Foundation License Version 2.
<br />
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
<br />
<br />
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br />
<br />
最后更新于 12月 09, 2024.
<a href="https://docs.python.org/3/bugs.html">Found a bug</a>?
<br />
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
</body>
</html>