Oto problem
Mam wymagania.txt, które 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 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 trochę danych wyjściowych, które wydają się wskazywać, że instalacja jest w porządku
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
....
Jednak późniejsza kontrola wykazała, że żaden z pakietów nie został poprawnie zainstalowany. Nie mogę zaimportować pakietu i żaden z nich nie został znaleziony w katalogu site-packages mojego virtualenv. Co poszło nie tak?
python
virtualenv
pip
kakarukeys
źródło
źródło
--no-index
więc nawet nie patrzy na PyPI?Odpowiedzi:
To działa dla mnie:
--no-index
- Zignoruj indeks pakietu (--find-links
zamiast tego patrzy tylko na adresy URL).-f, --find-links <URL>
- Jeśli adres URL lub ścieżka do pliku HTML, przeanalizuj łącza do archiwów. Jeśli lokalna ścieżka lubfile://
adres URL będący katalogiem, poszukaj archiwów na liście katalogów.źródło
--no-index
polecenia pip pomagają zainstalować--no-index
indeks pakietu Ignoruj (--find-links
zamiast tego patrząc tylko na adresy URL). Informacje--find-links
z polecenia pip pomóż zainstalować-f
,--find-links <url>
jeśli adres URL lub ścieżka do pliku HTML, to przeanalizuj łącza do archiwów. Jeśli lokalna ścieżka lub plik: // url jest katalogiem, poszukaj archiwów na liście katalogów.pip install <some_module>
bez tego używać,requirements.txt
ale to się nie zaktualizujerequirements.txt
. Alternatywą może być aktualizacja dokera w taki sposób, aby zawierał listę wszystkich poleceń instalacji pip uruchomionych w celu zainstalowania zależności.python -m pip install -r requirements.txt
w aktywowanym środowisku venv. rzeczy zostały zainstalowane płynnie, ale kiedy robię listę pip, nie pokazuje tych pakietów, kiedy jestem w aktywnym venv, a nawet po dezaktywacji venv. także nie może korzystać z tych pakietów. nie wiem, co tu jest nie takpython
odnosi się do pliku wykonywalnego Python w aktywowanym środowisku$ which python
?Przeczytałem powyższe, zdaję sobie sprawę, że to stare pytanie, ale jest całkowicie nierozwiązane i wciąż znajduje się na szczycie moich wyników wyszukiwania Google, więc odpowiedź jest odpowiednia dla wszystkich:
źródło
pip install -r /path/to/requirements.txt
. To wykrywa zmianę, aktualizuje pakiet i pozostawia wszystko inne w spokoju.Dla virtualenv, aby zainstalować wszystkie pliki w pliku wymagania.txt.
pip install -r requirements.txt
w twojej powłoceźródło
Miałem podobny problem. Próbowałem tego:
(-U = aktualizacja, jeśli była już zainstalowana)
Ale problem trwał nadal. Uświadomiłem sobie, że niektóre ogólne biblioteki do opracowania zostały pominięte.
Nie wiem czy to by ci pomogło.
źródło
Aby uzyskać więcej informacji, sprawdź opcję pomocy.
Możemy znaleźć opcję „-r”
Dalsze informacje na temat niektórych często używanych opcji instalacji pip: (Jest to opcja pomocy w poleceniu pip install)
Powyżej znajduje się pełny zestaw opcji. Proszę użyć pip install --help, aby uzyskać pełną listę opcji.
źródło
Krótka odpowiedź
lub w innej formie:
Wyjaśnienie
Tutaj
-r
jest krótka forma--requirement
i prosipip
o instalację z podanegorequirements
pliku.pip
rozpocznie instalację dopiero po sprawdzeniu dostępności wszystkich wymienionych elementów wrequirements
pliku i nie rozpocznie instalacji, nawet jeśli jedenrequirement
jest niedostępny.Jednym z obejść instalowania dostępnych pakietów jest instalowanie wymienionych pakietów jeden po drugim. W tym celu użyj następującego polecenia. Zostanie wyświetlone ostrzeżenie w kolorze czerwonym, aby powiadomić Cię o niedostępnych pakietach.
Aby zignorować komentarze (linie zaczynające się od a
#
) i puste linie, użyj:źródło
Często potrzebujesz szybkiej instalacji z lokalnych archiwów, bez sprawdzania PyPI.
Najpierw pobierz archiwa spełniające Twoje wymagania:
Następnie zainstaluj za pomocą
–find-links
i–no-index
:źródło
no such option: --download
Pracuję z wieloma systemami, które zostały zmulone przez programistów „zgodnie z instrukcjami, które znaleźli w Internecie”. Niezwykle często zdarza się, że ty
pip
i typython
nie patrzysz na te same ścieżki / pakiety witryn. Z tego powodu, gdy napotykam dziwność, zaczynam od zrobienia tego:To jest szczęśliwy system .
Poniżej znajduje się niezadowolony system . (A przynajmniej jest to błogo ignorancki system, który powoduje, że inni są nieszczęśliwi).
Jest niezadowolony, ponieważ
pip
używa (python3.6 i)/usr/local/lib/python3.6/site-packages
podczas korzystaniapython
is (python2.7 i) używa/usr/local/lib/python2.7/site-packages
Kiedy chcę się upewnić, że instaluję wymagania dla odpowiedniego pytona, robię to:
Słyszeliście: „Jeśli się nie zepsuło, nie próbuj go naprawiać”. Wersja DevOps brzmi: „Jeśli go nie złamałeś i możesz go obejść, nie próbuj go naprawiać”.
źródło
przede wszystkim stwórz wirtualne środowisko
w python 3.6
w python 2.7
następnie aktywuj środowisko i zainstaluj wszystkie pakiety dostępne w pliku wymagań.txt.
źródło
Instalowanie pliku wymagania.txt w wirtualnej env z Pythonem 3:
Miałem ten sam problem. Próbowałem zainstalować plik wymagania.txt w środowisku wirtualnym. Znalazłem rozwiązanie.
Początkowo stworzyłem moją wirtualną env w następujący sposób:
Aktywuj środowisko, używając:
Teraz zainstalowałem wymagania.txt przy użyciu:
Instalacja zakończyła się powodzeniem i udało mi się zaimportować moduły.
źródło
virtualenv -p python myenv
,myenv\Scripts\activate.bat
,pip install -r requirements.txt
requirements.txt
od virtualenv. Chyba że czegoś mi brakuje? W każdym razie dzięki!Spróbuj tego
źródło
LUB
źródło
--user
wewnętrznyrequirements.txt
?