我有一个使用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.py
与pip
不能很好地配合使用吗?
测试'包'可以在这里找到。
答案 0 :(得分:0)
Virtualenv默认安装setuptools,默认忽略全局包。
我没有测试任何东西,但尝试做: 1)virtualenv testenv --distribute 2)virtualenv testenv --global-site-packages 3)在virtualenv中安装发行版 4) 来自setuptools导入设置
设置(... install_requires = [ '分配'] )