Jak Mogę zainstalować pakiety za pomocą pip zgodnie z wymaganiami.plik txt z lokalnego katalogu?
Oto problem:
Mam wymagania.txt plik, który wygląda następująco:
BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...
Mam lokalny katalog archiwum zawierający wszystkie pakiety + inne.
Utworzyłem NOWY virtualenv z
bin/virtualenv testing
Po jego aktywacji próbowałem zainstalować pakiety zgodnie z wymaganiami .txt z lokalnego katalogu archiwum.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Mam jakieś wyjście, które wydaje się wskazywać, że instalacja jest "fine": {]}
Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
Running setup.py egg_info for package Fabric
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
Running setup.py egg_info for package South
....
Ale późniejsze sprawdzenie wykazało, że żaden pakiet nie jest poprawnie zainstalowany. Nie mogę zaimportować pakietu i żaden nie znajduje się w katalogu site-packages mojego virtualenv. Co poszło nie tak?
12 answers
To działa dla mnie:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- Ignoruj indeks pakietów (patrząc tylko na adresy URL --find-links
).
-f, --find-links <URL>
- jeśli jest to adres URL lub ścieżka do pliku HTML, analizuj łącza do archiwów.
Jeśli ścieżka lokalna lub adres URL file://
jest katalogiem, poszukaj archiwów na liście katalogów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 19:58:09
To działa dla każdego:
pip install -r /path/to/requirements.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 19:59:08
Dla virtualenv, aby zainstalować wszystkie pliki w Wymagania.plik txt.
- cd do katalogu gdzie Wymagania.txt {[3] } znajduje się
- aktywuj swój virtualenv
- run:
pip install -r requirements.txt
in your shell
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:00:04
Miałem podobny problem. Próbowałem tego:
pip install -U -r requirements.txt
(-U = update if it had already installed)
Ale problem nadal. Zdałem sobie sprawę, że niektóre z bibliotek generycznych do rozwoju zostały pominięte.
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Nie wiem, czy to ci pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:06:45
Użycie:
pip install -r requirements.txt
Aby uzyskać więcej informacji, sprawdź opcję Pomoc:
pip install --help
Możemy znaleźć opcję '- r ' -
-r, --requirement Install z podanego pliku wymagań. Opcja ta może być używany wielokrotnie.
Więcej informacji na temat niektórych powszechnie używanych opcji instalacji pip (jest to opcja pomoc w poleceniu instalacji pip):
Również powyższy jest kompletnym zestawem opcji. Proszę użyć pip install --help
dla pełnego lista opcji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:08:05
Krótka odpowiedź
pip install -r /path/to/requirements.txt
Lub w innej formie:
python -m pip install -r /path/to/requirements.txt
Wyjaśnienie
Tutaj -r
jest krótką formą --requirement
i prosi pip
o zainstalowanie z podanego pliku requirements
.
pip
rozpocznie instalację dopiero po sprawdzeniu dostępności wszystkich wymienionych elementów w pliku requirements
i nie rozpocznie instalacji, nawet jeśli jeden requirement
jest niedostępny.
Jednym obejściem instalacji dostępnych pakietów jest instalacja wymienionych paczki po kolei. Użyj w tym celu następującego polecenia. Wyświetlone zostanie czerwone ostrzeżenie informujące o niedostępnych pakietach.
cat requirements.txt | xargs -n 1 pip install
Aby zignorować komentarze (linie zaczynające się od #
) i puste linie, użyj:
cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-06 09:55:08
Często będziesz potrzebował szybkiej instalacji z lokalnych archiwów, bez sprawdzania PyPI.
Najpierw pobierz archiwa, które spełniają Twoje wymagania:
$ pip install --download <DIR> -r requirements.txt
Następnie zainstaluj za pomocą –find-links
i –no-index
:
$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-25 17:06:27
Pracuję z wieloma systemami, które zostały zmasakrowane przez programistów "podążających za wskazówkami, które znaleźli w Internecie". Bardzo często twoje pip
i python
nie patrzą na te same ścieżki / Pakiety stron. Z tego powodu, kiedy napotykam dziwność, zaczynam to robić:
$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']
$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
To jest szczęśliwy system .
Poniżej znajduje się układ . (A przynajmniej jest to system błogiej ignorancji, który powoduje, że inni są nieszczęśliwi.)
$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3
It jest nieszczęśliwy ponieważ pip
jest (python3.6 and) używając /usr/local/lib/python3.6/site-packages
podczas gdy python
jest (python2.7 and) używając /usr/local/lib/python2.7/site-packages
Kiedy chcę się upewnić, że instaluję wymagania do right Pythona, robię to:
$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3
$ /usr/bin/python -m pip install -r requirements.txt
Słyszałeś: "jeśli nie jest zepsuty, nie próbuj go naprawiać."Wersja DevOps to jest," jeśli nie złamał go i można obejść go, nie próbuj go naprawić."Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:13:31
Przede wszystkim stwórz wirtualne środowisko.
W Pythonie 3.6
virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>
W Pythonie 2.7
virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>
Następnie aktywuj środowisko i zainstaluj wszystkie pakiety dostępne w wymaganiu .plik txt.
source <path/to/new/virtualenv>/bin/activate
pip install -r <path/to/requirement.txt>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 21:36:57
Wymagania dotyczące instalacji.plik txt w wirtualnym env z Pythonem 3:
Miałem ten sam problem. Próbowałem zainstalować wymagania.plik TXT wewnątrz wirtualnego środowiska. Znalazłem rozwiązanie.Początkowo stworzyłem swój virtualenv w ten sposób:
virtualenv -p python3 myenv
Aktywuj środowisko używając:
source myenv/bin/activate
Teraz zainstalowałem wymagania.plik TXT używając:
pip3 install -r requirements.txt
Instalacja powiodła się i udało mi się zaimportować Moduły.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:17:53
pip install --user -r requirements.txt
Lub
pip3 install --user -r requirements.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-01 06:22:32
Spróbuj tego:
python -m pip install -r requirements.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 20:18:31