10.14 创建新的Python环境¶

问题¶

你想创建一个新的Python环境,用�安装模�和包。 �过,你�想安装一个新的Python克隆,也�想对系统Python环境产生影�。

解决方案¶

你�以使用 pyvenv 命令创建一个新的“虚拟�环境。 这个命令被安装在Python解释器�一目录,或Windows上�的Scripts目录中。下�是一个例�:

bash % pyvenv Spam
bash %

传给 pyvenv 命令的�字是将�被创建的目录�。当被创建�,Span目录�下�这样:

bash % cd Spam
bash % ls
bin include lib pyvenv.cfg
bash %

在bin目录中,你会找到一个�以使用的Python解释器:

bash % Spam/bin/python3
Python 3.3.0 (default, Oct 6 2012, 15:45:22)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from pprint import pprint
>>> import sys
>>> pprint(sys.path)
['',
'/usr/local/lib/python33.zip',
'/usr/local/lib/python3.3',
'/usr/local/lib/python3.3/plat-darwin',
'/usr/local/lib/python3.3/lib-dynload',
'/Users/beazley/Spam/lib/python3.3/site-packages']
>>>

这个解释器的特点就是他的site-packages目录被设置为新创建的环境。 如果你�安装第三方包,它们会被安装在那里,而�是通常系统的site-packages目录。

讨论¶

创建虚拟环境通常是为了安装和管�第三方包。 正如你在例�中看到的那样,sys.path ��包��自于系统Python的目录, 而 site-packages目录已�被�定�到一个新的目录。

有了一个新的虚拟环境,下一步就是安装一个包管�器,比如distribute或pip。 但安装这样的工具和包的时候,你需�确�你使用的是虚拟环境的解释器。 它会将包安装到新创建的site-packages目录中去。

尽管一个虚拟环境看上去是Python安装的一个�制, �过它实际上�包�了少�几个文件和一些符�链接。 所有标准库函文件和�执行解释器都�自原�的Python安装。 因此,创建这样的环境是很容易的,并且几乎�会消耗机器资�。

默认情况下,虚拟环境是空的,�包�任何�外的第三方库。如果你想将一个已�安装的包作为虚拟环境的一部分, �以使用“–system-site-packages�选项�创建虚拟环境,例如:

bash % pyvenv --system-site-packages Spam
bash %

跟多关于 pyvenv 和虚拟环境的信��以�考 PEP 405.