请问有人能解释一下在Ubuntu 9.04下Python发生了什么吗?
我正在尝试启动virtualenv
,但在ubuntu上使用--no-site-packages
标志似乎无效。我使用easy_install
安装了virtualenv 1.3.3
,并将其升级到了setuptools 0.6c9
,所有内容都似乎已经安装到了/usr/local/lib/python2.6/dist-packages
。
我认为使用apt-get安装包时,它会被放置在/usr/lib/python2.6/dist-packages/
中?
问题是,还有一个/usr/local/lib/python2.6/site-packages
文件夹,里面什么也没有。从virtualenv
的path
来看,它似乎是该程序备用使用的文件夹。因此,即使我省略了--no-site-packages
,我也不能从任何我的虚拟环境中访问本地系统的包。
所以,我的问题是:
- 如何让
virtualenv
指向其中一个dist-packages
? - 应该指向哪个
dist-packages
?/usr/lib/python2.6/dist-packages
还是/usr/local/lib/python2.6/dist-packages/
? /usr/lib/python2.6/site-packages
的作用是什么?里面什么也没有!- 路径上是先到先得吗?如果我在
/usr/local/lib/python2.6/dist-packages/
中安装了包XYZ的新版本,而在/usr/lib/python2.6/dist-packages
(来自ubuntu repos/apt-get)中有旧版本,则当我import xyz
时会导入哪个版本?我假设是基于路径列表的,对吗?
easy_install
应该安装到 /usr/local/lib/python2.6/dist-packages
的定义在哪里?pip
吗?感谢任何能够澄清这一点的人!
PYTHONPATH
变量。请参见此处 - hahakubile