Python 没有使用正确的 pip

Python not using proper pip

我是 运行 CentOS 8,原生 Python 3.6.8。我需要 Python 3.7,所以我从源代码安装了 Python 3.7.0。现在,python 命令对系统来说是未知的,而命令 python3python3.7 都使用 Python 3.7.

到现在为止一切都很好,但我似乎无法让 pip 工作。

命令 pip returns 命令未找到,而 python3 -m pippython3.7 -m pippython3 -m pip3python3.7 -m pip3 return No module named pip。唯一有效的 pip 命令是 pip3.

现在我通过 pip3 安装的任何软件包似乎都无法正确安装。给出的示例 pip3 install tornado returns Requirement already satisfied,但是当我尝试在 Python 3.7 中导入龙卷风时,我得到 ModuleNotFoundError: No module named 'tornado'。当我尝试在 Python 3.6 中导入它时,可以说是不同的事情,它工作得很好。由此,我了解到我的 pip 仅适用于 Python 3.6,不适用于 3.7。

请告诉我如何在 Python 3.7 中使用 pip,谢谢。

你的python3.7好像没有pip。

通过 运行 python3.7 -m easy_install pip.

为您的特定 python 安装 pip

然后,通过python3.7 -m pip install <package_name>

安装软件包

另一种选择是从您的 python3.7 创建一个虚拟环境。 venv默认自带pip。

您通过 python3.7 -m venv <venv_name>

创建了 venv

我认为您安装的软件包将适用于 Python 的先前版本。我认为您应该像这样更新原生 OS Python:

  1. 使用 apt-get 安装 python3.7 包 sudo apt-get install python 3.7
  2. 将 python3.6 & python3.7 添加到更新选项: sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
  3. 更新 python3 以指向 Python 3.7: `sudo update-alternatives --config python3
  4. 测试版本: python3 -V