2015-05-05 2 views
0

У меня есть каталог ~/foo и все это имеет, setup.py, который содержит:`setup.py develop` с` `install_requires` ставит DIST-packages` на вершине` sys.path` в virtualenv

from setuptools import setup, find_packages 
setup(
    name='foo', 
    version='0.1', 
    packages=find_packages(), 
    install_requires=['mock'] 
) 

Теперь я создаю виртуальную среду с помощью:

cd ~ 
virtualenv --system-site-packages v1 

И делать ~/v1/bin/python -c "import sys; print sys.path", я получаю

['', 
'/home/garrett', 
'/home/garrett/v1/lib/python2.7', 
'/home/garrett/v1/lib/python2.7/plat-x86_64-linux-gnu', 
'/home/garrett/v1/lib/python2.7/lib-tk', 
'/home/garrett/v1/lib/python2.7/lib-old', 
'/home/garrett/v1/lib/python2.7/lib-dynload', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-x86_64-linux-gnu', 
'/usr/lib/python2.7/lib-tk', 
'/home/garrett/v1/local/lib/python2.7/site-packages', 
'/home/garrett/v1/lib/python2.7/site-packages', 
'/usr/local/lib/python2.7/site-packages', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PILcompat', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/pymodules/python2.7', 
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client'] 

, но, когда я

sudo pip install mock 
cd ~/foo 
~/v1/bin/python setup.py develop 

затем Setuptools изменяет мой virtualenv-х sys.path иметь dist-packagesmock (где жизнь) вблизи вершины. Т.е., первые 3 записи из sys.path стали:

['', 
'/usr/local/lib/python2.7/dist-packages', 
'/home/garrett/foo', 
... 

Это кажется намеренным глядя на the source, который модифицирует easy-install.pth.

Вопрос

Есть в любом случае, чтобы отключить его баловаться с положением dist-packages в моем sys.path? В моем каталоге dist-packages есть другие модули, которым было присвоено нежелательное преимущество.

ответ

0

Не уверен, что это оптимальное решение, но один из способов предотвратить повышение приоритета setuptools для добавления приоритета --always-copy.

~/v1/bin/python setup.py develop --always-copy 
Смежные вопросы