【问题标题】:Python not using proper pipPython没有使用正确的点子
【发布时间】:2021-03-23 07:07:27
【问题描述】:

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

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

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

现在我通过pip3 安装的任何软件包似乎都没有正确安装。给出的示例,pip3 install tornado 返回Requirement already satisfied,但是当我尝试在 Python 3.7 中导入龙卷风时,我得到ModuleNotFoundError: No module named 'tornado'。当我尝试在 Python 3.6 中导入它时,不能说同样的话,它完美地工作。由此,我了解到我的 pip 仅适用于 Python 3.6,不适用于 3.7。

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

【问题讨论】:

    标签: python python-3.x unix pip centos


    【解决方案1】:

    您的 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

    【讨论】:

    • easy_install 工作,但我无法运行它,因为我没有可用的 setuptools,所以我也必须从源代码安装它,因为它不能在网络上运行。 _ctypes 库没有安装,我按照这个答案解决了这个问题:stackoverflow.com/questions/27022373/…。然后 easy_install 工作了,我可以在 3.7 中使用 pip
    【解决方案2】:

    我认为您安装的软件包将安装为以前版本的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2020-05-05
      • 1970-01-01
      相关资源
      最近更新 更多