如何将 pip3 用于 python 3.6 而不是 python 3.5?

新手上路,请多包涵

我正在使用 Kali dist,所以我已经安装了 Python 2.7、3.5 和 3.6。命令“python”和“pip”与 Python 2.7 相关联。但是“python3”使用 Python 3.6,而 pip3 正在为 Python 3.5 安装包。

当我尝试创建一个 venv 时:

 pip3 -p python3.6 virtualenv myenv

我有一个错误:

 no such option: -p

如何将 pip3 与 Python 3.6 而不是 Python 3.5 相关联?

原文由 user8798404 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 572
2 个回答

您的 pip 版本与您的 Python 版本有着千丝万缕的联系,您不能告诉 pip“使用这个 Python”或“使用那个 Python”。如果您在 pip3(使用 Python 3.X)和 python3(使用 Python 3.Y)之间存在版本不匹配,这意味着您的问题是 Python 的多个重叠分布和一个奇怪的配置 $PATH

如果你运行 pip3 --version 它会告诉你 pip3 关联的站点包目录和 Python 版本号。

如果你运行 python3 然后执行 >>> import site; site.getsitepackages() ,它应该打印你的站点包目录 python3 正在使用。

如果这些不匹配,你就会遇到路径问题,你需要发布更多关于你使用的操作系统、你使用的 Python 发行版以及你如何安装它们的信息。

评论线程的更新/摘要: 原始发帖者在自行安装的 Python 3.5 旁边安装了分发捆绑的 Python 3.6。他们路径上的 pip3 关联的是 Python 3.6(系统 Python),而命令 python3 关联的是 Python 3.5(他们自己安装的 Python)。解析度:

运行 which -a python3 找到 Python 3.5。将 Python 3.5 的位置添加到您的 $PATH 。 (在 .profile.bash_profile 中执行以使其永久化。)

原文由 charlesreid1 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用特定的 Python 版本显式运行 pip3 脚本,方法是在其前面加上适当的 python3. x 命令:

 ldo@theon:~> pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
ldo@theon:~> python3.5 $(which pip3) --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)

原文由 Lawrence D‘Oliveiro 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题