programing

Pip은 Ubuntu의 Python 3.10에서 작동하지 않습니다.

lovejava 2023. 5. 14. 09:58

Pip은 Ubuntu의 Python 3.10에서 작동하지 않습니다.

Ubuntu와 Linux를 사용하는 것은 처음입니다.나는 방금 사용하여 파이썬을 업데이트하려고 했습니다.sudo apt-get install python3.10가 행할때실을 할 때.python3.10 -m pip install <library name>항상 다음 오류가 발생합니다.

Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 19, in <module>
    sys.exit(_main())
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 15, in <module>
    from pip._internal.index.package_finder import PackageFinder
  File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 21, in <module>
    from pip._internal.index.collector import parse_links
  File "/usr/lib/python3/dist-packages/pip/_internal/index/collector.py", line 12, in <module>
    from pip._vendor import html5lib, requests
ImportError: cannot import name 'html5lib' from 'pip._vendor' (/usr/lib/python3/dist-packages/pip/_vendor/__init__.py)```

sudo apt-get install python3.10-html5lib을 시도해봤지만 오류가 해결되지 않았습니다.이 오류를 어떻게 수정해야 합니까?

너무 오래된 시스템 때문일 가능성이 높습니다.pip판본

최신 버전 설치:
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10

및 테스트 결과

python3.10 -m pip --version

예.

pip 22.2.2 from <home>/.local/lib/python3.10/site-packages/pip (python 3.10)

업그레이드를 테스트합니다.

python3.10 -m pip install --upgrade pip

예.

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in <home>/.local/lib/python3.10/site-packages (22.2.2)

위의 모든 답변을 시도해 보았지만 아무 것도 효과가 없었습니다.내 python3 버전은 3.10.2입니다.

그래서 나는 pip에 적합한 버전을 설치해야 합니다.

하지만, 나는 노력했습니다.

curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10

하지만 효과가 없어서 노력했습니다.

curl https://bootstrap.pypa.io/get-pip.py | sudo python3

이것은 나에게 효과가 있었습니다.

이것은 @mirekphd의 의견을 확장한 것으로, 노트북과 서버 모두에서 아무런 문제 없이 완벽하게 작동하는 솔루션을 제공했습니다.

첫 번째 단계는 아직 수행되지 않은 경우 'deadsnakes' 저장소를 추가하여 최신 파이썬 관련 소프트웨어를 다운로드하여 계속 업데이트할 수 있도록 하는 것입니다.

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa

또한 Python 3.10을 아직 설치하지 않은 경우 다음을 사용할 수 있습니다.

sudo apt install python3.10

그리고 마지막으로, 만드는 것은pip에 입니다.distutils3.10과 :

apt install python3.10-distutils

에는 그런다사수있다니습할용을 사용할 수 .pip다음 방법:

python3.10 -m pip _rest_of_the_pip

위와 같은 것은 규칙적이기 때문에 필요합니다.pip명령은 3.10이 아닌 시스템 기본 파이썬 버전을 사용합니다.

사용하는 경우pip자주 그런 다음 에 별칭을 추가할 수 있습니다..bashrc다음과 같은 파일:

alias pip310='python3.10 -m pip'

그 후에는 다음과 같이 사용할 수 있습니다.

pip310 install blah

GitHub Actions 내부에서 문제가 발생했습니다.제 솔루션은 가상 환경에 의존하여 시스템의 나머지 부분으로부터 격리하는 것이었습니다.확신해주다python3.10-venv 을 수행합니다.

python3.10 -m venv .venv
source .venv/bin/activate
pip install ...
...
deactivate

Ubuntu에 python 3.10, pip 및 venv 설치 18|20

sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10
python3.10 --version
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
python3.10 -m pip --version
python3.10 -m pip install --upgrade pip
sudo apt install python3.10-venv

가상 환경 생성,

python3.10 -m venv venv3.10
source venv3.10/bin/activate

시도:

pip3.10 install <package name>

최신 버전의 pip과 python3이 있는지 확인합니다.10

저도 pip 설치에 문제가 있었습니다.

~하듯이sudo apt install python3-pip여전히 pip3.8을 참조하고 있습니다(최소한 민트 시나몬 20.2에서는). pip은 다른 방법으로 설치해야 합니다.

와 함께curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 수 없음이 . 를 찾수것밝으혀다니습졌로는없을다▁it니습밝졌혀▁isip▁pip.

가져오기 오류: 'pip'이라는 이름의 모듈이 없습니다._내부'

나는 esurepip 명령어가 내장되어 있고 python3의 올바른 디렉터리를 목표로 한다는 것을 알게 되었습니다.10

입니다.python3.10 -m ensurepip설치 도구 및 파이프를 설치하고 누락된 파이프 모듈을 수정합니다.

다음을 사용하여 파이프를 업그레이드할 수 있습니다.python3.10 -m pip install -U pip.

또한 sudo와 함께 작동합니다(pip asudo를 실행하는 데 약간의 필요성이 있었습니다).

작성 당시와 다음 링크에 명시된 바와 같습니다.Python 3.10은 여전히 불안정합니다.python 3.9에서 발생하는 문제를 테스트하고 로컬 설치에 문제가 있는지 확인하는 것이 좋습니다.
어떤 경우에도, (와 함께) 실행하여 깨끗한 unbuntu(라우터) 설치에서.sudo권리)

apt-get install software-properties-common 
apt-get install python3.9
python3.9 --version
#
apt-get install python3.10
python3.10 --version

나는 답을 얻었습니다.Python 3.9.5그리고.bash: python3.10: command not found각각. 그래서 나는 그 문제가 python 3.10 저장소에 있을 수 있다고 생각합니다...현재로는.

하지만,apt-get install"기본" 파이썬을 직접 업데이트하지 않습니다.어떤 설치를 사용하는지 확인할 수 있습니다.

python --version
python3 --version

어쨌든, 만약 당신이 여전히 python 3.10을 설치하고 싶다면, 아마도 위의 링크가 당신에게 도움이 될 것입니다.

우분투용 파이썬과 pip 3.10을 설치하기 위한 코드는 모두 있으며, 그 코드의 한 줄만 바꿔도 충분하며, 기본 이미지를 최신 우분투 LTS 버전으로 변경합니다.ubuntu:focal) 에서Dockerfile공식 데비안 기반 파이썬 3.10 이미지용 (파이썬 3.10 bullseye slim Docker 파일을 사용했습니다.도커 제작에는 8분밖에 걸리지 않았습니다. 여기에 다음과 같은 증거가 있습니다.pip3.10실제로 작동합니다.

$ docker run mirekphd/python3.10-ubuntu20.04 pip -V

출력:

pip 21.3.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

또는 보다 고급적인 예:

$ docker run -it --rm --name python3.10-ubuntu20.04 mirekphd/python3.10-ubuntu20.04:latest bash -c 'pip --version; pip install numpy --user --no-cache; pip show numpy; python -c "import numpy as np; print(np.ones(5))"'

출력:

pip 21.3.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
Collecting numpy
  Downloading numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB)
     |████████████████████████████████| 15.9 MB 34.6 MB/s            
Installing collected packages: numpy
  WARNING: The scripts f2py, f2py3 and f2py3.10 are installed in '/root/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed numpy-1.21.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Name: numpy
Version: 1.21.4
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: 
License: BSD
Location: /root/.local/lib/python3.10/site-packages
Requires: 
Required-by: 
[1. 1. 1. 1. 1.]

참고: pip 업그레이드를 위해 방금 이 줄을 추가했습니다(이전).CMD):

RUN python -m pip install --upgrade pip

저는 파이썬 3.8을 탑재한 우분투에 파이썬 3.10을 설치한 후에도 같은 오류가 발생했습니다.pip 제거 후 다시 설치

sudo apt-get remove -y python3-pip    
sudo apt-get install -y python3-pip

그것은 나에게 효과가 있었지만, pip3.10 설치 모듈 이름은 동일한 오류가 발생했고, python3.10-m pip 설치 모듈 이름은 정상적으로 작동했습니다.

제 경우 이 문제는 이전 콘다 설치와 관련이 있습니다.그래서 저는 PATH를 수정해서 해결합니다.Python 3.10 및 pip3도 ~/.local/bin에 설치되어 있으므로

최악의 경우 다음과 같이 하드코딩된 ~/.bashrc에 마지막 줄을 추가했습니다.

nano ~/.bashrc

마지막 줄 추가:

export PATH=/usr/local/sbin:/sbin:/usr/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/local/games:/usr/games:/home/$USER/.local/bin 

저장, 닫기 및 실행

source .bashrc

Conda의 경로를 제거한 후에도 /usr/bin에 설치된 파이프를 그대로 두었기 때문에 이 파이프의 이름을 변경하여 이 문제를 해결했습니다.

cd /usr/bin
sudo mv pip kkpip
sudo mv pip3 kkpip3

다 했어요.

pip3 list

Voila!

언급URL : https://stackoverflow.com/questions/69503329/pip-is-not-working-for-python-3-10-on-ubuntu