如何使用pip3 for python 3.6而不是python 3.5?

9 python pip python-3.x

我正在使用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
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

no such option: -p
Run Code Online (Sandbox Code Playgroud)

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

cha*_*id1 14

你的pip版本与你的Python版本密不可分,你不能告诉pip"使用这个Python"或"使用那个Python".如果pip3(使用Python 3.X)和python3(Python 3.Y)之间的版本不匹配,则意味着您的问题是Python的多个重叠分布和奇怪的配置$PATH.

如果你运行pip3 --version它将告诉你pip3与之关联的site-packages目录和Python版本号.

如果您运行python3然后执行>>> import site; site.getsitepackages(),它应该打印您python3正在使用的site-packages目录.

如果这些不匹配,您就会遇到路径问题,并且您需要发布有关您所使用的操作系统,您正在使用的Python发行版以及如何安装它们的更多信息.

更新/摘要评论线程:原始海报安装了分发捆绑的Python 3.6以及自安装的Python 3.5.他们路径上的pip3与Python 3.6(系统Python)相关联,而命令python3与Python 3.5(他们自己安装的Python)相关联.解析度:

运行which -a python3以查找Python 3.5.将Python 3.5的位置添加到您的$PATH.(做它.profile.bash_profile使它永久化.)

  • 在 Linux 系统上很可能安装多个版本的 Python,并且没有问题。我目前在我的主要 Debian 机器上有 3.2 到 3.6 的版本。这对于测试我编写的代码的兼容性非常方便。 (4认同)

Law*_*iro 8

您可以pip3使用特定的 Python 版本显式运行脚本,方法是在它前面加上适当的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)
Run Code Online (Sandbox Code Playgroud)

  • `pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5) ` `python3.6 $(which pip3) --version` `回溯(最近一次调用):``文件“ /usr/bin/pip3", line 9, in <module>` `from pip import main` `ModuleNotFoundError: No module named 'pip' ` (5认同)