我正在使用 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 许可协议
您的 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
中执行以使其永久化。)