我有一个使用 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
运行python setup.py
,我会得到:
PATH TO SETUPTOOLS /Users/tom/tmp/debug/distribute-0.6.28-py2.7.egg/setuptools/__init__.pyc
这就是我所期望的 - 即这实际上是distribute
.但是,如果我现在尝试从虚拟环境中使用 pip 安装"包":
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
这是"香草"设置工具。为什么会这样?distribute_setup.py
和pip
玩得不好吗?
测试"包"可以在这里找到。
Virtualenv 默认安装安装程序工具,默认忽略全局包。
我还没有测试任何东西,但请尝试做:1) 虚拟环境测试--分发2) virtualenv testenv --global-site-packages3) 在虚拟环境中安装分发4)从安装工具导入设置
设置(... install_requires=["分发"])