ОС: Debian 8
Python: v3.4.2 (удалены v2.7 и v3.5, чтобы уменьшить возможные основные причины)
Я установил pip для Python 3 согласно документации :
sudo apt install python3-venv python3-pip
После этого проверка версии приводит к ошибке SyntaxError:
$ python3 -m pip --version
Traceback (most recent call last):
File "/usr/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.4/dist-packages/pip/__main__.py", line 21, in <module>
from pip._internal.cli.main import main as _main
File "/usr/local/lib/python3.4/dist-packages/pip/_internal/cli/main.py", line 60
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax
Обратите внимание на путь к Python версии 3.4, в то время как следующие контрольные точки указывают на версию 3.5:
$ pip --version
Traceback (most recent call last):
File "/usr/local/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/usr/local/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax
Однако какой пункт указывает на другой путь:
$ which pip
/usr/local/bin/pip
Что не так? Как исправить PIP?
Мне он нужен для установки инструмента elastalert.
Что я пробовал до сих пор:
apt remove --purge
) и снова проверил версию. Согласно Согласно PHD Post , корневой причиной является версия PIP, установленная по умолчанию, несовместимым со старой версией Python 3.4. Критическая подсказка была f ""
, поддерживаемым только Python v3.6 +.
Итак, я удалил PIP и повторно установил PIP 19.1.1 следующим образом:
Удаление несовместимых PIP, предоставленные дистриоризованным репозитором:
Sudo APT Удалить - Purge Python3-Pip
Скачать PIP.PY версия, которая совместима с моим Python версии 3.4:
Curl -O https://bootstrap.pypa.io/3.4/get-pip.py
Stall Pip (в моем случае с sudo как глобальная установка И с -d, чтобы применить настройки прокси в сеанс Sudo):
Sudo -e Python3 get-pip.py
Дополнительно: обновить PIP, чтобы убедиться, что это последняя доступная версия
Sudo -e Python3 -M PIP Установить --uppgrade "PIP <19.2"
Проверить версию:
Python3 -M PIP --version
Ouput:
PIP 19.1.1 от /usr/local/lib/python3.4/dist- Пакеты / PIP (Python 3.4)