Python Ошибка пипса при установке зависимостей - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь установить следующие зависимости:

appdirs==1.4.3
click==6.7
Flask==1.0
itsdangerous==0.24
Jinja2==2.10.1
MarkupSafe==1.0
packaging==16.8
prometheus-client==0.0.19
pyparsing==2.2.0
Werkzeug==0.15.3

Но независимо от того, какую зависимость я пытаюсь установить, я получаю следующую ошибку:

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==19.3', 'console_scripts', 'pip')()
  File "/usr/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 28, in <module>
    from pip._internal.self_outdated_check import (
  File "/usr/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py", line 15, in <module>
    from pip._vendor.six import ensure_binary
ImportError: cannot import name 'ensure_binary' from 'six' (/usr/lib/python3.8/site-packages/six.py)

В чем проблема?

1 Ответ

0 голосов
/ 25 февраля 2020

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

Решение для устранения ущерба окружающей среде заключается в использовании:

sudo pacman -Syu python-pkgname --overwrite='*'

где pkgname - это имя python зависимости, которую вы хотите установить. После того, как это будет сделано, среда должна быть исправлена, и впоследствии не потребуется применять опцию --overwrite.

Это все Python 2 и Python 3 и результирующее разделение инструментов pip2 и pip3 безумен.

...