`pip3 search <pkg_name>` показывает версию, которую он отказывается устанавливать

pip3 search aiohttp производит (среди прочего):

aiohttp (3.3.2)  - Async http client/server framework (asyncio)
  INSTALLED: 2.3.10
  LATEST:    3.3.2

тем не менее, pip3 install --upgrade --user aiohttp отвечает, что это уже актуально, и pip3 install --user aiohttp==3.3.2 возвращает:

[...] Could not find a version that satisfies
the requirement aiohttp==3.3.2 (from versions: 0.1, 0.2, 0.3, 
[... snip ...], 2.3.10, 3.0.0b0) No matching distribution found for
aiohttp==3.3.2

Python3 - это v.3.5.2, а pip3 - v.18.0, который является обновлением до python3-pip системы v.8.1.1. Pip3 был обновлен локально с помощью pip3 upgrade --user, Смотрите этот вопрос для ссылок и обсуждения.

Что я делаю неправильно?

1 ответ

Решение

Основная проблема, которую мы отладили с помощью чата, заключается в том, что вы обновили pip, Это вызывает некоторые... несовместимости (и для поддержки этого в комнате чата имеются терминальные дампы из контейнера 16.04).

Шаг 1: Удалить обновленный pip версии

Это легко, так как вы установили его в локальных данных - pip3 uninstall pip

Это удалит его версию в вашем локальном пространстве пользователя.

Шаг 2: Закройте ваш терминал или сеанс SSH, затем восстановите его.

Это так, что сеанс забывает о локальном пространстве пользователя pip3 двоичный файл.

Шаг 3: Запустите шаги установки еще раз для пакетов PyPI, которые вы ищете - pip3 install --upgrade --user aiohttp stig (это также устанавливает stig Тоже, что ты упомянул в чате было твоей целью)

Это должно установить aiohttp версия 3.4.0 (последнее в PyPI на этот пост) и stig,


Мы сделали все это в чате, и он установил aiohttp без проблем. Проблема с обновлением pip версии это увеличит шансы, что pip не будет работать, так как новее pip версии сильно зависят от наличия обновленной версии Python. И если вы не используете virtualenv Для ваших сред Python, вы застряли на системном Python 3.5.2, из которых более новые pip не ведет себя с. (Обратите внимание, что это было также признано во время наших тестов).

Также обратите внимание, что aiohttp имеет требования, перечисленные в PyPI Python 3.5.3 или выше. Это не будет решено в среде 16.04, поэтому вам может потребоваться прибегнуть к виртуальным средам Python с более обновленным Python, или к виртуальным машинам с Ubuntu 18.04, или к контейнерам (таким как контейнеры на основе LXD) с 18.04. Это дает вам более обновленную версию Python.

Другие вопросы по тегам