【问题标题】:pip3 installs modules to location python3 can't findpip3 将模块安装到 python3 找不到的位置
【发布时间】:2021-07-26 16:20:03
【问题描述】:

我有 pip3,通过 python3-pip 的 yum install 安装。

我已经完成了一些我需要的模块的 pip3 全局安装,但是 python3 找不到它们来导入。经过一番调查,我看到 pip3 将模块安装到 /usrlib/python3.6/site-packages/pip/_vendor/

问题是python3似乎不知道看pip/_vendor,它只找到直接安装在site-package下的模块。如果我只是将模块从 .../site-package/pip/_vendor 复制到 .../site-package 一切正常。

该问题似乎与文件权限或读取模块的能力无关。

我想知道如何配置 pip 以直接安装到 site-package 或 python3 以了解如何查看 pip/_vendor 位置。

我正在使用 ansible 配置这一切,并希望尽可能作为模块选项。例如,我可以手动使用参数告诉 pip3 安装到我想要的文件夹,但如果我不需要,我不想硬编码确切的站点包目录。

【问题讨论】:

  • 您实际使用的是哪个版本的 Python?在您的第二段中,路径包含python3.6,但您标记了问题[python-3.7]。
  • @MattDMo 那是我的错误。我以为我们使用的是 python 3.7,但它似乎是 python 3.6
  • 你确定pip3 和python3 都指向同一个python 版本吗? python不是有好几个安装的吗?

标签: python pip ansible python-3.6


【解决方案1】:

我建议通过下载并运行get-pip.py 来从pip 重新开始。这不仅会安装最新版本的pip,还会将软件包安装到 Python 可读的位置(用于运行 get-pip.py 的 Python 版本)。

顺便说一句,除非有特殊需要,否则我会避免在系统范围内安装软件包。至少,您应该以普通用户的身份安装它们,更好的是,您应该使用 virtualenv。

【讨论】:

  • 不幸的是,这一切都在 Intranet 中运行,无法访问公共 pip 存储库供 get-pip.py 使用。
猜你喜欢
  • 2017-07-07
  • 2019-07-16
  • 2018-05-11
  • 2021-08-29
  • 2018-07-18
  • 2021-08-26
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多