Python — вручную установить пакет с использованием virtualenv

#python #installation #virtualenv #pip #virtualenvwrapper

#python #установка #virtualenv #pip #virtualenvwrapper

Вопрос:

У меня есть программа на 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-packages соответствующего virtualenv?

Вариант 1 — распаковать программу python в /home / username / tmp, затем войти в my virtualenv, перейти к этой папке и запустить setup.py программа — при условии, что virtualenv перенесет все соответствующие файлы в свою собственную папку site-packages.

ИЛИ сценарий 2 заключается в том, чтобы разархивировать файлы непосредственно в site-packages и запустить его оттуда (после входа в virtualenv) и т. Д

Спасибо, что помогли Python clutz с этим!

Ответ №1:

Обычно я бы извлек программу во временную папку, затем из этой папки запустил setup.py используя прямой путь к экземпляру python virtualenv. например, если ваш virtualenv находится в /home/ username / virtualpy, используйте это (из вашей временной папки)

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

Это должно установить его в папку пакета вашего сайта virtualenv.

Комментарии:

1. Итак, на самом деле операция импорта заключается в запуске python с использованием версии python (2.6), установленной в virtualenv … приятно! Спасибо Dwelch.

2. Убедитесь, что вы запускаете его из временной папки; setup.py скорее всего, ожидается, что это будет текущая папка.

3. Похоже, в этом больше нет необходимости. Как только виртуальная среда env активирована, я просто запускаю python setup.py install или python setup.py develop , и она устанавливается в нужном месте.

Ответ №2:

хорошо, когда вы переключаетесь на виртуальную среду. вы должны ввести

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
  

Ответ №3:

Если пакет не будет установлен из репозитория, попробуйте в venv с помощью sudo. В качестве примера для пакета python pathos;

 /venv3.6/bin$ sudo pip3 install pathos
  

Ответ №4:

PACKAGE_DIR=/some/package/directory/path экспортировать VENV=$(pipenv —venv) amp;amp; экспортировать BASE_DIR=$(pwd) amp;amp; cd $PACKAGE_DIR amp;amp; $VENV/bin/python setup.py установить amp;amp; cd $BASE_DIR