Python - ręcznie zainstaluj pakiet za pomocą virtualenv


84

Mam program w języku Python, który chcę zainstalować w moim virtualenv - jest to pakiet zip, który muszę rozpakować, a następnie uruchomić program setup.py - ale moje pytanie dotyczy bardziej sposobu umieszczenia tych rozpakowanych plików w moim virtualenv, aby pakiet zostanie zainstalowany w folderze pakietów witryn virtualenv?

Mogę również zainstalować z poziomu mojego virtualenv za pomocą pip install <package name>, ale z jakiegoś powodu pakiet, który pobiera PIP, jest nieaktualny.

A więc - czy ktoś może mi powiedzieć kilka prostych kroków ręcznej instalacji pakietu?

Do tej pory mam podstawowe polecenia do załadowania 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??

A więc - czy ma znaczenie, gdzie rozpakuję pakiet / program Pythona - czy powinienem najpierw zalogować się do virtualenv przed rozpakowaniem? Po załadowaniu virtualenv i używaniu go za pomocą polecenia „workon test”, czy jakikolwiek pakiet Pythona, który zainstaluję, niezależnie od katalogu, który go znajdę, zainstaluje się w odpowiednim folderze site-packages virtualenv?

Opcja 1 to rozpakowanie programu w języku Python do / home / username / tmp - następnie zaloguj się do mojego virtualenv, przejdź do tego folderu i uruchom program setup.py - zakładając, że virtualenv prześle wszystkie odpowiednie pliki do własnego folderu site-packages .

LUB scenariusz 2 polega na rozpakowaniu plików bezpośrednio do pakietów witryn i uruchomieniu ich z tego miejsca (po zalogowaniu się do virtualenv) itp.

Dziękuję za pomoc w rozwiązaniu tego problemu Pythonowi!

Odpowiedzi:


123

Zwykle wyodrębniłem program do folderu tymczasowego, a następnie z tego folderu uruchomiłem plik setup.py, używając bezpośredniej ścieżki do instancji pythona virtualenv. np. jeśli twój virtualenv znajduje się w / home / username / virtualpy, użyj tego (z twojego folderu tymczasowego)

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

Powinno to zainstalować go w folderze pakietu witryny virtualenv.


2
Więc tak naprawdę operacja importu polega na uruchomieniu Pythona przy użyciu wersji pythona (2.6) zainstalowanej w virtualenv ... fajnie! Dzięki Dwelch.
— Jamison

Upewnij się, że uruchamiasz go z folderu tymczasowego; setup.py prawdopodobnie spodziewa się, że będzie to bieżący folder.
— Seth

Nie wydaje się to już być konieczne. Po aktywowaniu wirtualnego środowiska env po prostu uruchamiam python setup.py installlub python setup.py developi instaluję go we właściwym miejscu.
— Oliver

13

dobrze po przejściu do środowiska wirtualnego. należy wpisać

which python

a jeśli zwróci ścieżkę, w której istnieje twoje wirtualne środowisko, to jest w porządku, możesz bezpośrednio uruchomić to polecenie.

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

ale jeśli podaje ścieżkę poziomu globalnego, która nie jest twoją virtualenv'sścieżką, powinieneś spróbować użyć

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

0

Jeśli pakiet nie zostanie zainstalowany z repozytorium, spróbuj pod venv używając sudo. Jako przykład dla pakietu 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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.