Arch:pip: ImportError: '요청' 이름을 가져올 수 없습니다.

Arch:pip: ImportError: '요청' 이름을 가져올 수 없습니다.

pip를 사용하여 설치한 일부 Python 패키지가 pacman을 사용하여 설치하려는 다른 패키지와 충돌했습니다. 그래서 pip로 설치된 모든 패키지를 제거하기로 결정했습니다. 모든 패키지가 포함된 요구 사항.txt 파일을 만들고 제거를 시작했습니다. 한동안은 잘 작동했지만 결국 다음과 같은 오류가 발생했습니다.

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    load_entry_point('pip==10.0.1', 'console_scripts', 'pip')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 479, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2703, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2321, in load
    return self.resolve()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2327, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3.6/site-packages/pip/_internal/__init__.py", line 42, in <module>
    from pip._internal import cmdoptions
  File "/usr/lib/python3.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
    from pip._internal.index import (
  File "/usr/lib/python3.6/site-packages/pip/_internal/index.py", line 15, in <module>
    from pip._vendor import html5lib, requests, six
ImportError: cannot import name 'requests'

그 후 pip를 실행하려고 할 때마다 비슷한 오류가 발생합니다.

답변1

문제는 패키지와 패키지를 혼합하고 일치시키는 것을 사용 sudo pip하고 끝내는 것 입니다 . 이렇게 하지 마십시오. Python 배포판 설치를 사용해야 하는 경우 이 플래그를 사용 하거나, virtualenv를 사용하는 것이 더 좋습니다.pacmanpippip--user

이 문제를 해결하려면 pip로 설치한 모든 것을 제거해야 합니다. 예를 들어 lostfiles공식 저장소의 패키지를 사용하면 pacman이 알지 못하는 파일을 찾을 수 있습니다. 이 모든 혼란을 제거하고 pacman을 사용하여 python-pip를 다시 설치하십시오.

또한 pip를 사용하여 종속성이 깨진 깨진 패키지를 확인하거나 pacman -Dkpacman에 속해야 하는 삭제되거나 대체된 파일이 포함된 깨진 패키지를 확인하기 위해 pip를 사용할 수도 있습니다 pacman -Qkk.

답변2

이 문제에 대해서는 잘 모르지만 방금 해결했습니다.

curl -O https://bootstrap.pypa.io/get-pip.py; python get-pip.py

관련 정보