본문 바로가기
Python/Python FAQ

Python pip를 업그레이드 한 후에 발생하는 오류: 'main'을 가져올 수 없습니다., Error after upgrading pip: cannot import name 'main'

by 베타코드 2023. 10. 17.
반응형

질문


pip을 사용하여 패키지를 설치하려고 할 때마다이 가져 오기 오류가 발생합니다:

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# DEBIAN에 의해 생성 된

import sys

# setuptools와 유사하게 주 진입점을 실행하지만 setup.py에서 실제 진입점을 설치하지 않았으므로
# pkg_resources API를 사용하지 마십시오.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

이전에는 잘 작동했지만, 왜이 오류가 발생하는지 확실하지 않습니다. 이 오류에 대해 검색했지만 해결책을 찾을 수 없습니다.

추가 세부 정보가 필요하면 알려주십시오. 질문을 업데이트하겠습니다.


답변


당신은 아마도 sudo pip install pip --upgrade와 같은 방법으로 시스템 pip를 실수로 업그레이드했을 것입니다.

pip 10.x는 내부 구조가 조정되었습니다. 보이는 pip3 명령은 패키지 유지자(아마도 debian 기반인가요?)가 제공하는 것이며 pip에서 관리되는 파일이 아닙니다.

이에 대해서는 pip의 이슈 트래커에서 더 읽어볼 수 있습니다.

시스템 pip를 업그레이드하지 않고 가상 환경을 사용하는 것이 좋습니다.

pip3 이진 파일을 복구하려면 sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall를 실행해야 합니다.

"지원되지 않는 영역"에서 계속 진행하려면 (시스템 패키지 관리자 외부에서 시스템 패키지를 업그레이드하는 것), pip3 대신에 python3 -m pip ...를 사용할 수 있을 것입니다.

반응형

댓글