Python - встановити пакет вручну за допомогою virtualenv


84

У мене є програма python, яку я хочу встановити у свій virtualenv - це zip-пакет, який мені потрібно розпакувати, а потім запустити програму setup.py - але моє питання стосується більше того, як отримати ці розпаковані файли у мій virtualenv, щоб пакет встановлюється в папку сайту-пакунків virtualenv?

Я також можу встановити всередині свого virtualenv за допомогою pip install <package name>, але з якоїсь причини пакет, який завантажує PIP, застарів.

Тож - чи може хтось сказати мені кілька простих кроків для встановлення пакунка вручну?

Поки що я маю основні команди для завантаження Virtualenv:

-bash-3.2$ source ~/.bashrc
-bash-3.2$ workon test
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this??

Отже - чи має значення, куди я розпаковую пакет / програму python, - чи я повинен спочатку увійти до virtualenv перед розпаковкою? Після того, як я завантажу virtualenv, і я всередині використовую його за допомогою команди 'workon test', чи встановить будь-який встановлений мною пакет python, незалежно від того, який каталог я знайшов, у відповідну папку site-пакети virtualenv?

Варіант 1 - розпакувати програму python у / home / username / tmp - потім увійти до мого virtualenv, перейти до цієї папки та запустити програму setup.py - припускаючи, що virtualenv перенесе всі відповідні файли до власної папки сайтів-пакетів. .

АБО сценарій 2 - розпакувати файли безпосередньо в пакунки сайту та запустити їх звідти (після входу в virtualenv) тощо.

Дякуємо, що допомогли цьому справити Python!

Відповіді:


123

Зазвичай я витягую програму до тимчасової папки, потім із цієї папки запускаю файл setup.py, використовуючи прямий шлях до екземпляра virtualenv python. наприклад, якщо ваш virtualenv знаходиться в / home / username / virtualpy, використовуйте це (з вашої тимчасової папки)

/home/username/virtualpy/bin/python setup.py install

Це має встановити його у вашу папку пакета сайту virtualenv.


2
Тож дійсно операція імпорту - це запуск python з використанням версії python (2.6), встановленої у virtualenv ... приємно! Дякую Dwelch.
Jamison

Обов’язково запустіть його з тимчасової папки; setup.py, швидше за все, очікує, що це буде поточна папка.
Сет

Здається, це вже не потрібно. Як тільки віртуальна env активована, я просто запускаю python setup.py installабо, python setup.py developі вона встановлюється в потрібному місці.
Олівер

13

добре при переході на віртуальне середовище. вам слід набрати

which python

і якщо він повертає шлях, де існує ваше віртуальне середовище, тоді все в порядку, ви можете безпосередньо запустити цю команду.

$ python setup.py build
$ python setup.py install

але якщо це дає шлях глобального рівня, який не є вашим virtualenv'sшляхом, спробуйте використати

$ ~/.virtualenv/python-env/bin/python setup.py build
$ ~/.virtualenv/python-env/bin/python setup.py install

0

Якщо пакет не вдається встановити з репозиторію, спробуйте під венв за допомогою sudo. Як приклад для пакету python patos;

/venv3.6/bin$ sudo pip3 install pathos

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.