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 и использую его с помощью команды workon test, будет ли любой установленный мной пакет python, независимо от каталога, который я нахожу, установить в соответствующую папку пакетов сайта virtualenv?

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

ИЛИ сценарий 2 - разархивировать файлы непосредственно в пакеты сайтов и запустить их оттуда (после входа в виртуальную среду) и т. Д.

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

Джеймисон
источник

Ответы:

123

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

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

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

жить
источник
2
Итак, на самом деле операция импорта заключается в запуске python с использованием версии python (2.6), установленной в virtualenv ... хорошо! Спасибо, Двелч.
Джеймисон
Убедитесь, что вы запускаете его из временной папки; setup.py, скорее всего, будет ожидать, что это будет текущая папка.
Сет,
Кажется, в этом больше нет необходимости. После активации виртуального окружения я просто запускаю 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

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

/venv3.6/bin$ sudo pip3 install pathos
Ягмур САИН
источник
0

PACKAGE_DIR = / some / package / directory / path export VENV = $ (pipenv --venv) && export BASE_DIR = $ (pwd) && cd $ PACKAGE_DIR && $ VENV / bin / python setup.py install && cd $ BASE_DIR

Кристофер Бродерик
источник