pip和pip3-都指向python3.5?

Gho*_*ica 6 python linux pip python-2.7 ubuntu-16.04

我今天开始尝试阴影。并在我的ubuntu 16.04系统上同时为python2和python3安装了它;使用:

sudo pip install shade
Run Code Online (Sandbox Code Playgroud)

分别

sudo pip3 install shade
Run Code Online (Sandbox Code Playgroud)

两个命令都通过了;我并没有真正注意。

然后,我尝试运行此小测试脚本:

from shade import *

simple_logging(debug=True)
conn = openstack_cloud(cloud='myopenstack')
images = conn.list_images()
for image in images:
  print(image)
Run Code Online (Sandbox Code Playgroud)

使用python3,我收到一个证书错误(很好,我很惊讶地发现我们的内部基础结构使用了正确的证书)。

但是可以肯定的是,我也想与python2.7一起运行。并被告知:

ImportError:没有名为shade的模块

因此,我仔细观察了pip和pip3的内容:

> pip -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
> pip3 -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
Run Code Online (Sandbox Code Playgroud)

看起来像两者pippip3并且实际上正在我的python3安装上工作,但是当我这样做时:

 > python --version
 Python 2.7.12
 > python3 --version
 Python 3.5.2
Run Code Online (Sandbox Code Playgroud)

任何想法,有人吗?是什么原因引起的,或者如何实际为python2 / pip 安装阴影

按照要求:

> for i in pip pip3 python python3 ; do type $i ; done
pip is /usr/local/bin/pip
pip3 is /usr/local/bin/pip3
python is /usr/bin/python
python3 is /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

kic*_*hik 6

pip3看起来像默认选项pip使用。尝试pip2改用显式安装Python 2软件包。


Jos*_*Lee 5

python -m pip
Run Code Online (Sandbox Code Playgroud)

这将使用python可以看到的pip版本。


Lyn*_*ten 5

只需将的第一行更改/usr/local/bin/pip为:

#!/usr/bin/python

和的第一行/usr/local/bin/pip3

#!/usr/bin/python3

然后它将正常运行:

> pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
> pip3 -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
Run Code Online (Sandbox Code Playgroud)