适用于 Python 3.8 的 19.10 pip

适用于 Python 3.8 的 19.10 pip

我已经安装python3.8到python 19.10:

 sudo apt install python3.8

我现在想为 python 3.8 安装 pip

 python3.8 -m pip install pip
 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (18.1)

但是 pip 3 是3.7

 pip3 -V
 pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

例如:

pip3 install pyinotify
Requirement already satisfied: pyinotify in ./.local/lib/python3.7/site-packages (0.9.6)

尝试将 pyinotify 导入 python3.8 脚本会引发ModuleNotFound错误

答案1

为了确保您使用的是正确的 pip,请按如下方式使用:

python3.8 -m pip install pyinotify

Python 核心开发人员之一 Brett Cannon 最近发表了一篇关于此主题的博客文章: https://snarky.ca/why-you-should-use-python-m-pip/

总而言之,您通常希望将 Python 包安装到虚拟环境中,而不是系统 Python 中。

https://realpython.com/python-virtual-environments-a-primer/

答案2

sudo apt install python3-pip或者python3.8-pip

让系统管理你的 Python 版本。


编辑

最初的问题是尝试pip通过安装python -m pip,但在原始海报使用apt系统包管理器后,他们反而能够pip正常工作。

正如评论和jugmac00的回答,现在建议pip通过作为 Python 模块调用来使用:

python -m pip install pyinotify

如果系统上安装了多个版本的 Python,并且这不是默认版本,则可能需要指定版本:

python3.8 -m pip install pyinotify

答案3

您是否尝试过使用米尼康达或者蟒蛇

简而言之,这是一个测试不同 Python 版本的好方法,你不必担心弄乱你的系统 Python(使用关键字的项目/安装程序python)。

  1. 安装后,打开终端并初始化 conda(如果你没有将其添加到 PATH)source ~/miniconda3/bin/activate
  2. 添加频道intelconda-forge在那里查找包:conda config --add channels intel && conda config --add channels conda-forge
  3. 使用 python 3.8 和 pip 创建一个名为 py38 的新环境conda create -n py38 python=3.8 pip
  4. Conda 将解决环境问题并确保软件包兼容。解决您的初始问题,您可以仔细检查 pip 版本(当我这样做时,它是pip-19.3.1-py38_0
  5. 激活您的环境conda activate py38
  6. 现在,当您python在此环境中键入内容时,它将使用您设置的解释器。此外,pip installconda install将定向到您的py38环境,直到您conda deactivate或切换。

这是我运行时的输出conda create -n py38 python=3.8 pip

收集包元数据(current_repodata.json):完成解决环境:完成

套餐计划

环境位置:/home/mikkeyboi/miniconda3/envs/py38

添加/更新规格: - pip - python=3.8

将下载以下软件包:

package                    |            build
---------------------------|-----------------
certifi-2019.9.11          |           py38_0         147 KB  conda-forge
pip-19.3.1                 |           py38_0         1.9 MB  conda-forge
python-3.8.0               |       h357f687_3        39.0 MB  conda-forge
setuptools-41.6.0          |           py38_1         628 KB  conda-forge
wheel-0.33.6               |           py38_0          35 KB  conda-forge
------------------------------------------------------------
                                       Total:        41.7 MB

将安装以下新软件包:

_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
ca-certificates
conda-forge/linux-64::ca-certificates-2019.9.11-hecc5488_0 certifi
conda-forge/linux-64::certifi-2019.9.11-py38_0 libffi
conda-forge/linux-64::libffi-3.2.1-he1b5a44_1006 libgcc-ng
pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0 libstdcxx-ng
pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0 ncurses
conda-forge/linux-64::ncurses-6.1-hf484d3e_1002 openssl
conda-forge/linux-64::openssl-1.1.1d-h516909a_0 pip
conda-forge/linux-64::pip-19.3.1-py38_0 python
conda-forge/linux-64::python-3.8.0-h357f687_3 readline
conda-forge/linux-64::readline-8.0-hf8c457e_0 setuptools
conda-forge/linux-64::setuptools-41.6.0-py38_1 sqlite
conda-forge/linux-64::sqlite-3.30.1-hcee41ef_0 tk
conda-forge/linux-64::tk-8.6.9-hed695b0_1003 wheel
conda-forge/linux-64::wheel-0.33.6-py38_0 xz
conda-forge/linux-64::xz-5.2.4-h14c3975_1001 zlib
conda-forge/linux-64::zlib-1.2.11-h516909a_1006

继续 ([y]/n)? y

下载并提取软件包 python-3.8.0 | 39.0 MB |

############################### | 100% setuptools-41.6.0 | 628 KB | ##################################### | 100% pip-19.3.1

| 1.9 MB | ##################################### | 100% wheel-0.33.6 | 35 KB |

############################### | 100% certifi-2019.9.11 | 147 KB | ##################################### | 100% 准备中

交易:完成 验证交易:完成 执行交易:完成

我也确实pip install pyinotify回复了您的进口询价, python -c "import pyinotify; print(pyinotify.__version__)"给了我0.9.6

答案4

正如建议的那样官方文档您可以尝试使用 get-pip.py。

wget https://bootstrap.pypa.io/get-pip.py
python3.8 get-pip.py

这将安装 pip 作为 pip3.8

相关内容