ubuntu安装python2.7 对应版本pip_ubuntu16.04 pip与python版本对应问题-Go语言中文社区...

本文介绍了在Ubuntu 16.04上遇到的pip与Python版本对应问题,包括如何安装特定Python版本的pip,修改Python默认版本,以及调整pip2、pip3命令对应的不同Python版本。通过修改pip2的配置文件,使其重新指向Python2.7,解决了版本对应问题。
摘要由CSDN通过智能技术生成

ubuntu16.04 pip与python版本对应问题

1.sudo pip -V与pip -V路径不一定相同的

3. 在linux安装了多版本python时(例如python2.6和2.7),pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置.

例如:sudo pip install -t /usr/local/lib/python2.7/site-packages/ wxpython

4.修改python默认版本,由python2.7改成python3.5

查看python得到其可执行路径,把它删掉

$ which python

/usr/bin/python

$ sudo rm /usr/bin/python

$ python

~bash: /usr/bin/python: No such file or directory

上面删去后再输入$ python命令就会报错,因为系统不知该如何执行,然后我们为它建立一个新的默认链接到python3.5

$ ln -s /usr/bin/python3.5 /usr/bin/python

$ python -V

Python 3.5.2

至此就完成默认版本的修改了,也可以用同样方法修改python2和python3

5.更改pip、pip2、pip3命令对应版本

其实上面的步骤执行完后,pip默认对应版本就已经是python3.5了,而pip3不变仍然对应python3,这里要改的是pip2的配置文件,否则无法再使用pip2。

查看一下现在的pip和pip3对应版本

$ pip -V

pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

$ pip3 -V

pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

但是发现查看pip2却出现下面的报错,这是因为配置文件还没改

$ pip2 - V

Traceback (most recent call last):

File "/usr/bin/pip2", line 9, in

load_entry_point('pip==8.1.1', 'console_scripts', 'pip2')()

File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point

return get_distribution(dist).load_entry_point(group, name)

File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2568, in load_entry_point

raise ImportError("Entry point %r not found" % ((group, name),))

ImportError: Entry point ('console_scripts', 'pip2') not found

打开错误提示中的“/usr/bin/pip2”文件,把文件中第一行的“#!/usr/bin/python”改为“#!/usr/bin/python2” 即可

$ sudo gedit /usr/bin/pip2

原文件内容如下:

#!/usr/bin/python

# EASY-INSTALL-ENTRY-SCRIPT: 'pip==8.1.1','console_scripts','pip2'

__requires__ = 'pip==8.1.1'

import sys

from pkg_resources import load_entry_point

if __name__ == '__main__':

sys.exit(

load_entry_point('pip==8.1.1', 'console_scripts', 'pip2')()

)

修改后:

#!/usr/bin/python2

# EASY-INSTALL-ENTRY-SCRIPT: 'pip==8.1.1','console_scripts','pip2'

__requires__ = 'pip==8.1.1'

import sys

from pkg_resources import load_entry_point

if __name__ == '__main__':

sys.exit(

load_entry_point('pip==8.1.1', 'console_scripts', 'pip2')()

)

然后测试,pip2成功对应回版本python2.7

$ pip2 -V

pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

我是这么理解的,系统默认情况下,pip指向python2.7,pip2指向Python2.7,pip3指向python3.5(就当pip和pip2相同,指向了系统python2.7,修改系统默认python后,pip指向python3.5,pip3指向了python3.5,而pip2原来指向了系统python,原来的系统python是2.7现在变成了3.5,所以会出错)

6.知乎有一篇文章:

多版本Python安装pip及pip版本管理终极教程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值