<p>Python有自己的包管理工具,与Linux发行版(包括Ubuntu)的一套管理工具并行。存储库是Pypi-Python包索引,包是用<a href="https://pypi.python.org/pypi/pip" rel="nofollow">^{<cd1>}</a>或easy_install脚本(Python的setuptools包的一部分)安装的。</p>
<p>根据经验,您不应该同时使用通过pip/setuptools安装的包和发行版可用的包(通过apt-get、yum、urpmi等),因为它们可能会发生冲突。</p>
<p>因此,处理这个问题的一个不太容易出错的方法是在系统中安装单独的Python—让系统附带的Python用于系统脚本等等—在这个Python上,只使用包管理器安装的包。安装其他版本的Python(甚至是相同的版本),以便与“virtualenv”一起运行-在这些其他安装上,您只能使用pip/setuptools安装。</p>
<p>(即使有人选择大胆地生活而不使用virtualenvs,在与系统python相同的前缀(<code>/usr</code>,甚至是<code>/usr/local</code>)上安装另一个python版本也是混淆错误和冲突的根源)。</p>
<p>注意,Debian和Ubuntu系统设计了一种在/usr中运行并行的官方Python的方法,并且能够同时将Python包安装到这两个Python版本。这基本上是可行的,但是它们破坏了Python的默认目录层次结构,并且一些应用程序无法以这种方式使用Python。(在Debian或Ubuntu中找到模块文件本身也是一团混乱)。因此,即使您的系统在apt-get上有多个可用的Python版本,也可以将上述方法作为建议应用。</p>
<p>简而言之,编译完所需版本的Python后,请执行以下操作:</p>
<ol>
<li>使用系统的包管理器安装“python setuptools”和“python virtualenv”(不确定这些是否是实际的包名称)。</li>
<li>使用<code>virtualenv</code>创建一个环境,从中可以使用不同的Python版本</li>
<li>激活virtualenv,并在其上使用<code>pip</code>安装Python包。</li>
</ol>
<p>Virtualenv确实提供了一个“--help”开关来帮助您,但您基本上做到了:</p>
<pre><code>$ virtualenv -p <path-to-python-interpreter> <environment-dir>
$ source <environment-dir>/bin/activate
</code></pre>
<p>在这里,由于环境变量的设置,使用Python的所有东西都将“看到”virtualenv中的解释器。</p>