Я встановлюю кілька пакетів Python в Ubuntu 12.04 за допомогою наступного requirements.txt
файлу:
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
і ці дві команди:
$ pip install --download=/tmp -r requirements.txt
$ pip install --user --no-index --find-links=/tmp -r requirements.txt
(перший завантажує пакунки, а другий встановлює їх).
Процес часто зупиняється з помилкою:
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))
яку я фіксую вручну за допомогою:
pip install --user <package>
а потім знову запустіть другу pip install
команду.
Але це працює лише для цього конкретного пакету. Коли я запускаю другу pip install
команду ще раз, процес припиняється, зараз скаржиться на інший необхідний пакет, і мені потрібно повторити процес ще раз, тобто: встановити новий необхідний пакет вручну (з командою вище), а потім виконати другу pip install
команду.
До сих пір я повинен був встановити вручну six
, pytz
, nose
і тепер він скаржиться потребуючи mock
.
Чи є спосіб сказати pip
автоматично встановлювати всі необхідні залежності, тому мені не доведеться робити це вручну по черзі?
Додайте : Це відбувається лише в Ubuntu 12.04 BTW. У Ubuntu 14.04 pip install
команди, застосовані до requirements.txt
файлу, працюють без проблем.