Не удалось найти версию, удовлетворяющую требованию <package>

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

Ответ 1

Этот подход (имеющий все зависимости в каталоге, а не загрузку из индекса) работает только тогда, когда каталог содержит все пакеты. Поэтому каталог должен содержать все зависимости, а также все пакеты, от которых зависят эти зависимости (например, six, pytz и т.д.).

Поэтому вы должны вручную включить их в requirements.txt (чтобы первый шаг загружал их явно), или вы должны установить все пакеты с помощью PyPI, а затем pip freeze > requirements.txt, чтобы сохранить список всех необходимых пакетов.

Ответ 2

Я установил python3, но мой python в /usr/bin/python был все еще старой версии 2.7

Это сработало (<pkg> было pyserial в моем случае):

python3 -m pip install <pkg>

Ответ 3

Попробуйте установить колбу через powershell, используя следующую команду.

>>pip install --isolated Flask

Это позволит инсталлировать, чтобы избежать переменных окружения и конфигурации пользователя.

Ответ 4

После 2 часов поиска я нашел способ исправить это с помощью одной командной строки. Вам нужно знать версию пакета (просто найдите версию ПАКЕТА).

Команда:

python3 -m pip install --pre --upgrade PACKAGE==VERSION.VERSION.VERSION

Ответ 5

Не всегда, но в некоторых случаях пакет уже существует. Например - getpass. Он не указан в "списке пипсов", но может быть импортирован и использован:

enter image description here

Если я пытаюсь установить getpass, я получаю следующую ошибку: "Не удалось найти версию, которая удовлетворяет требованию getpass"

Ответ 6

Ниже команда сработала у меня -

python -m pip install flask

Ответ 7

Я мог бы решить эту проблему, перезапустив командную строку.

Ответ 8

Используйте командную строку и выберите "Запуск от имени администратора".

Обновить версию пипа

Чтобы обновить PIP, введите эту команду и нажмите клавишу ВВОД: -

python.exe -m pip install --upgrade pip

Вернуться к пути Python C:\Users\Jack\AppData\Local\Programs\Python\Python37\Scripts

Тип ноутбука Юпитера

Вы будете перенаправлены на http://localhost: 8888/undefined/tree - домашняя страница Jupyter

Надеюсь, поможет !!!!!!!!!!!