如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip

Gil*_*son 18 python ubuntu pip ubuntu-20.04

Ubuntu 20.04 附带 Python 3.8。我无法卸载 Python 3.8但我需要 Python 3.9

我继续从以下位置安装了 Python 3.9:

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt 安装 python3.9

如何为 python 3.9 安装 pip?

安装 pip using sudo apt-get install python3-pip对我不起作用,因为它为 python 3.8 安装了 pip

使用安装 pippython3.9 get-pip.py出现错误:

~/python_tools$ python3.9 get-pip.py 
Traceback (most recent call last):
  File "/home/ubuntu/python_tools/get-pip.py", line 23704, in <module>
    main()
  File "/home/ubuntu/python_tools/get-pip.py", line 198, in main
    bootstrap(tmpdir=tmpdir)
  File "/home/ubuntu/python_tools/get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "<frozen zipimport>", line 259, in load_module
  File "/tmp/tmpkwyc8h7j/pip.zip/pip/_internal/cli/main.py", line 10, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/tmp/tmpkwyc8h7j/pip.zip/pip/_internal/cli/autocompletion.py", line 9, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/tmp/tmpkwyc8h7j/pip.zip/pip/_internal/cli/main_parser.py", line 7, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/tmp/tmpkwyc8h7j/pip.zip/pip/_internal/cli/cmdoptions.py", line 18, in <module>
ModuleNotFoundError: No module named 'distutils.util'
Run Code Online (Sandbox Code Playgroud)

Sha*_*hop 42

您可以pip通过以下方式为 python 3.9安装:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.9 get-pip.py
Run Code Online (Sandbox Code Playgroud)

重要的是您使用python3.9而不仅仅是python3, 以确保pip为 python 3.9 安装。

如果您看到任何权限错误,您可能需要使用

python3.9 get-pip.py --user
Run Code Online (Sandbox Code Playgroud)

如果您No module named 'distutils.util'在运行时遇到错误python3.9 get-pip.py,并且您使用的是基于 Debian 的 Linux 发行版,请运行

sudo apt install python3.9-distutils
Run Code Online (Sandbox Code Playgroud)

然后重新运行您的get-pip.py命令。如果您使用的不是基于 Debian 的发行版,请为您的发行版的包管理器使用等效的命令。

  • 输入“pip3.9 install”以使用 pip (2认同)
  • 使用“sudo apt install python3.9-distutils”,它会在 Ubuntu 20.04 上安装“python3.8”。我只想要`python3.9` (2认同)

Eri*_*ton 34

仅依赖于的替代方法deadsnakes/ppa是安装python3.9-venv.

sudo apt-get install python3.9-venv
python3.9 -m venv venv
source venv/bin/activate
pip --version
# pip 21.1.3 from /home/.../venv/lib/python3.9/site-packages/pip (python 3.9)
Run Code Online (Sandbox Code Playgroud)

也许随着时间的推移更容易保持一致,但强制进入 Virtualenv。


这种方法在 Ubuntu 18 上出现了一个问题。针对 OP 目标(20.04)的线程中的其他建议不起作用。PyPa 的安装脚本在 Ubuntu 18 上结束为:

python3.9 get-pip.py
# ...
# AttributeError: 'HTMLParser' object has no attribute 'unescape'
Run Code Online (Sandbox Code Playgroud)

  • 这个答案需要找到到达顶部的方法 (4认同)

Adr*_*ann 6

Pip 默认包含在 python 3.4 及更高版本中。

python3.9 -m pip --version
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因未安装 pip,您可以使用 get-pip 手动安装它:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.9 get-pip.py
Run Code Online (Sandbox Code Playgroud)

  • 在使用来自 `ppa:deadsnakes/ppa` 的 python3.9 的 Ubuntu 20.04 上,`pip` 不支持。 (7认同)