pip,distribute和setuptools问题

时间:2012-09-24 20:53:48

标签: python setuptools distribute

我有一个使用distribute_setup.py使用distribute代替setuptools的软件包 - 所以我有:

from distribute_setup import use_setuptools
use_setuptools()

位于软件包setup.py文件的顶部。为了演示这个问题,我创建了一个简单的setup.py文件:

from distribute_setup import use_setuptools
use_setuptools()

import setuptools
print "PATH TO SETUPTOOLS", setuptools.__file__

如果我现在使用virtualenv创建虚拟环境,并尝试使用虚拟环境中的python setup.py运行python,我会得到:

PATH TO SETUPTOOLS /Users/tom/tmp/debug/distribute-0.6.28-py2.7.egg/setuptools/__init__.pyc

这是我所期望的 - 即这实际上是distribute。但是,如果我现在尝试使用虚拟环境中的pip安装'package':

pip install -e git://github.com/astrofrog/test_pip_distribute.git#egg=test_pip_distribute

我明白了:

PATH TO SETUPTOOLS /Users/tom/tmp/testenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/setuptools/__init__.py

这是'vanilla'设置工具。为什么会这样? distribute_setup.pypip不能很好地配合使用吗?

测试'包'可以在这里找到。

1 个答案:

答案 0 :(得分:0)

Virtualenv默认安装setuptools,默认忽略全局包。

我没有测试任何东西,但尝试做: 1)virtualenv testenv --distribute 2)virtualenv testenv --global-site-packages 3)在virtualenv中安装发行版 4) 来自setuptools导入设置

设置(...       install_requires = [ '分配'] )