【发布时间】:2010-11-15 23:33:39
【问题描述】:
有人可以向我解释一下 ubuntu 9.04 中的 python 是怎么回事吗?
我正在尝试启动virtualenv,而--no-site-packages 标志似乎对ubuntu 没有任何作用。我安装了virtualenv 1.3.3 和easy_install(我已经升级到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)这是 virtualenv 用作备份的文件夹。因此,即使我省略了--no-site-packages,我也无法从我的任何 virtualenv 访问我的本地系统包。
所以我的问题是:
- 如何让
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?
感谢任何可以解决此问题的人!
【问题讨论】:
-
我怀疑 Ubuntu 在这里坏了:将站点包重命名为 dist-packages 绝对没有意义或理由(这就是 /usr/local 的用途)。不过,在 virtualenv 方面无法为您提供帮助。
-
使用
PYTHONPATH变量。 [见这里][1] [1]:stackoverflow.com/questions/19210964/… -
7 岁?为什么这个问题还贴出来?
标签: python ubuntu setuptools virtualenv