2012-09-24 28 views
1

我有一個使用distribute_setup.py代替setuptools使用distribute包 - 所以我有:問題與點子,分發和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 

這是「香草」的setuptools。這是爲什麼發生? distribute_setup.pypip不能很好地玩嗎?

測試'包'可以在這裏找到。

回答

0

Virtualenv默認安裝setuptools,默認情況下忽略全局軟件包。

我沒有測試過任何東西,但嘗試要麼做: 1)的virtualenv testenv --distribute 2)的virtualenv testenv --global-站點包 3)安裝在從setuptools的在virtualenv中 4) 分發進口設置

設置(... install_requires = [「分配」] )

+0

但有趣的是,我安裝包入virtualenv中不使用PIP的情況下,它的行爲不當,但使用PIP它不。所以它似乎是一個點子而不是virtualenv問題。如果不存在,''distribute_setup.py''腳本會將''distribute''安裝到''virtualenv''中。 – astrofrog