Instaluję kilka pakietów Pythona w Ubuntu 12.04 przy użyciu następującego requirements.txt
pliku:
numpy>=1.8.2,<2.0.0
matplotlib>=1.3.1,<2.0.0
scipy>=0.14.0,<1.0.0
astroML>=0.2,<1.0
scikit-learn>=0.14.1,<1.0.0
rpy2>=2.4.3,<3.0.0
i te dwa polecenia:
$ pip install --download=/tmp -r requirements.txt
$ pip install --user --no-index --find-links=/tmp -r requirements.txt
(pierwszy pobiera pakiety, a drugi je instaluje).
Proces jest często zatrzymywany z powodu błędu:
Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: )
No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))
które naprawiam ręcznie:
pip install --user <package>
a następnie ponownie uruchom drugie pip install
polecenie.
Ale to działa tylko dla tego konkretnego pakietu. Kiedy pip install
ponownie uruchomię drugie polecenie, proces zostaje zatrzymany, narzekając na inny wymagany pakiet i muszę go powtórzyć, tj .: ręcznie zainstalować nowy wymagany pakiet (powyższym poleceniem), a następnie uruchomić drugie pip install
polecenie.
Do tej pory miałem zainstalować ręcznie six
, pytz
, nose
, a teraz narzekają potrzeby mock
.
Czy istnieje sposób, pip
aby automatycznie zainstalować wszystkie potrzebne zależności, aby nie musieć robić tego ręcznie jedna po drugiej?
Dodaj : dzieje się tak tylko w Ubuntu 12.04 BTW. W Ubuntu 14.04 pip install
polecenia zastosowane do requirements.txt
pliku działają bez problemów.