Я устанавливаю несколько пакетов 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
файлу, работают без проблем.