Како да Добивам виртуеленв да ги претпочита своите локални библиотеки отколку глобалните библиотеки

Треба да користам python на голем сервер каде што немам root пристап. Сакам да користам понова верзија на numpy од онаа што е инсталирана на глобално ниво на машината. virtualenv е дизајниран токму за оваа намена и јас ја креирам мојата виртуелна средина и ја активирам со следниве команди:

virtualenv my_personal_python
source my_personal_python/bin/activate

Потоа ја инсталирам новата верзија на библиотеката што ме интересира да ја користам

pip install numpy==1.6.0

Проблемот е во тоа што кога сега увезувам numpy, таа сè уште ја увезува застарената глобална верзија, а не онаа што е инсталирана во директориумот my_personal_python / lib / python2.6 / site-packacges на виртуелното опкружување.

Јас сум веќе свесен за едно можно решение, знамето - no-site-packages, како на пример:

virtualenv --no-site-packages my_personal_python

Кога го користам ова знаме, увозот се однесува како што сакам. Но, не сакам да го користам ова знаме затоа што не сакам повторно да ги инсталирам сите пакети на локално ниво, само сакам да заменам неколку од нив.

(јас користам python 2.6, virtualenv 1.6.1 и променливата PYTHONPATH на мојата машина не е поставена.)

Ажурирај Дури и ако го додадам директориумот за пакети на страницата од виртуелната околина до почетокот на патеката за питон, numpy не се увезува од оваа локација (иако друга пакетите се увезуваат од оваа локација). Можеби овој проблем е специфичен за вкочанетоста и воопшто не се јавува кај пакетите.

22
задан Cœur 16 April 2017 в 07:14
поделиться