当前位置: 首页 > news >正文

Linux多版本python切换以及多版本pip对应 (cloud studio Ubuntu16.04)

linux
&&
cloud studio
&&
Ubuntu16.04

简单解决多版本python切换以及多版本pip对应问题

1.python2切换成python

多版本python:
更改前先查看版本号

$ python -V
Python 2.7.12
$ python2 -V
Python 2.7.12
$ python3 -V
Python 3.5.2

通过下面的命令看到python3的很多可执行文件路径,留意 /usr/bin/python3.5,下面需要用来建立链接

$ whereis python3
python3: /usr/bin/python3.5-config /usr/bin/python3.5m-config /usr/bin/python3.5m 
/usr/bin/python3 /usr/bin/python3.5 /usr/lib/python3 /usr/lib/python3.5 /etc/python3 
/etc/python3.5 /usr/local/lib/python3.5 /usr/include/python3.5m /usr/include/python3.5 /usr/share/python3 /usr/share/man/man1/python3.1.gz

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

$ which python
/usr/bin/python
$ sudo rm /usr/bin/python
$ python
~bash: /usr/bin/python: No such file or directory

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

$ sudo ln -s /usr/bin/python3.5 /usr/bin/python
$ python -V
Python 3.5.2

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

2.更改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 <module>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_pointreturn get_distribution(dist).load_entry_point(group, name)File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2568, in load_entry_pointraise 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 vi /usr/bin/pip2

原文件内容如下:

修改后:

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

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

至此全部完成啦~

有时候会报错 ,大部分原因是因为没有加 sudo

http://www.lryc.cn/news/6784.html

相关文章:

  • 【并发编程】LockSupport源码详解
  • 元宇宙之声:新鸿基公司
  • Linux中定时监控Tomcat服务器进程并在进程结束时重启Tomcat服务器
  • 快速部署私有云笔记,免费享受多端同步
  • python生成 2048位随机质数 Miller-Rabin质数测试算法
  • ♡ — MySQL 查询缓存
  • 死锁检测组件 -- 使用hook检测死锁
  • 第2集丨Java中的数据类型汇总
  • 【基础篇】7 # 队列:队列在线程池等有限资源池中的应用
  • matlab进行双目标定获取双目参数并打印教程
  • JVM类加载机制
  • 8.1 优化概述
  • 从0到1一步一步玩转openEuler--14 openEuler DNF(YUM)配置管理
  • leetcode707 设计链表 带有输入和输出的
  • 100种思维模型之非sr思维模型-012
  • 绿竹生物再冲刺港交所上市:暂未商业化,孔健夫妇为实控人
  • 加拿大MSB金融牌照申请方案
  • javaEE 初阶 — 滑动窗口
  • 大咖说·图书分享|狼书(卷3):Node.js高级技术
  • 1.5配置NBMA和P2MP网络类型
  • Java面试题
  • opencv锁定鼠标定位
  • 机器连接和边缘计算
  • 利用NGROK将本地网站发布为一个公开网站
  • Vulnhub 渗透练习(一)—— Breach 1.0
  • 初探Spring采用Spring配置文件管理Bean
  • 【手写 Vuex 源码】第十二篇 - Vuex 插件机制的实现
  • 图像去噪技术简述
  • 数据迁移——技术选型
  • 第二十七章 java并发常见知识内容(CompletableFuture)