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

news2024/11/26 8:41:21

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_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 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.coloradmin.cn/o/345556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在传染病中,肠道微生物-免疫力-营养在优化治疗策略中的作用

谷禾健康 传染病&#xff0c;肠道微生物&#xff0c;营养 传染病和感染目前是许多地区尤其是低收入国家主要死亡原因&#xff0c;也是婴儿和老年人等弱势群体的主要风险。免疫系统在这些感染的易感性、持续性和清除中起着至关重要的作用。由于 70-80% 的免疫细胞存在于肠道中&a…

详解子网技术

一 : Internet地址 Intemet实质上是把分布在世界各地的各种网络如计算机局域网和广域网、数字数据通信网以及公用电话交换网等互相连接起来而形成的超级网络。但是 , 网络的物理地址给Internet统一全网地址带来两个方面的问题: 第一&#xff0c;物理地址是物理网络技术的一种…

postman-请求前参数预处理(pre-request)

文章目录一、Pre-request Scrip的简介二、 变量2.1环境变量2.2全局变量2.3动态变量&#xff08;内置变量&#xff09;2.4数据变量三、全局变量的定义和使用3.1全局变量的定义3.2全局变量的使用四、动态变量的使用4.1通过界面操作完成Gd变量使用4.2在脚本区写代码调用Pre-reques…

分享113个HTML电子商务模板,总有一款适合您

分享113个HTML电子商务模板&#xff0c;总有一款适合您 113个HTML电子商务模板下载链接&#xff1a;https://pan.baidu.com/s/1JIlnB8qpg4wIuh-fi0e-Bg?pwdiwvr 提取码&#xff1a;iwvr Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 import os import shuti…

Elasticsearch和Solr的区别

背景&#xff1a;它们都是基于Lucene搜索服务器基础之上开发&#xff0c;一款优秀的&#xff0c;高性能的企业级搜索服务器。&#xff08;是因为他们都是基于分词技术构建的倒排索引的方式进行查询&#xff09;开发语言&#xff1a;java语言开发诞生时间&#xff1a;Solr2004年…

CAP和BASE理论

CAP理论CAP是 Consistency、Availability、Partition tolerance 三个词语的缩写&#xff0c;分别表示一致性、可用性、分区容忍性。它指出一个分布式计算系统不可能同时满足以下三点&#xff1a;• 一致性&#xff08;Consistency&#xff09; &#xff1a;等同于所有节点访问同…

项目管理工具dhtmlxGantt甘特图入门教程(八):数据加载(四)

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表&#xff0c;可满足项目管理控件应用程序的所有需求&#xff0c;是最完善的甘特图图表库这篇文章给大家讲解 dhtmlxGantt 的数据属性和数据库结构。 DhtmlxGantt正版试用下载&#xff08;qun&#xff1a;764…

既生 useState 何生 useReducer (主讲useReducer)

前言 useState 的底层其实是用useReducer 实践的 useReducer 适合较复杂的state,因为我们可以将状态的改变统一放在reducer 去做管理,像useState 的状态改变就会分散在不同的函式里面。 语法 const [state, dispatch] = useReducer(reducer, initialState, initStateFn)use…

【蓝桥杯选拔赛真题37】python判断自守数 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python判断自守数 一、题目要求 1、编程实现 2、输入输出 二、解题思路

后台开发常见层式结构设计:时间轮、跳表、LSM_Tree

目录1、海量并发定时任务&#xff1a;时间轮2、高并发读写有序结构组织;跳表3、空间利用率以及写性能高的磁盘数据组织&#xff1a;LSM_Tree时间轮&#xff1a;内核定时器的实现、skynet、kafka、netty&#xff1b; 跳表&#xff1a;redis、rocksdb LSM-Tree&#xff1a;写多读…

SpringCloud学习笔记 - 自定义及解耦降级处理方法 - Sentinel

1. SentinelRecourse配置回顾 通过之前的学习&#xff0c;我们知道SentinelRecourse配置的资源定位可以通过两种方式实现&#xff1a;一种是URL&#xff0c;另一种是资源名称。这两种限流方式都要求资源ID唯一 RestController public class RateLimitController {GetMapping(…

MySQL -查询日志、二进制日志、错误日志、慢查询日志

文章目录1.错误日志2.二进制日志3.查询日志4.慢查询日志1.错误日志 错误日志是 MySOL中最重要的日志之一&#xff0c;它记录了当 mvsald 启动和停止时&#xff0c;以及服务器在运行过程中发生任何严重错误时的相关信息当数据库出现任何故障导致无法正常使用时&#xff0c;建议…

龙曲良 Tensorflow —— 神经网络与全连接层(自用)

目录 一、数据加载&#xff08;keras.datasets&#xff09; 1.1 MNIST 加载 1.2 CIFAR10/100 加载 1.3 tf.data.Dataset.from_tensor_slices 1.4 .shuffle &#xff08;对应打散数据&#xff09; 1.5 .map&#xff08;数据预处理&#xff09; 1.6 .batch / .repeat 二…

vue3语法

vue3教程 //ps 这里是基本写法 一般项目不需要ref 因为需要一直return 这里是根据在不使用ts后缀 来在.vue里面写setup 如下图所示:setup setup是启动页面会自动执行的一个函数 项目里定义的所有变量&#xff0c;都要在setup当中 在setup定义的变量和方法&#xff0c;都需要r…

chatGTP的全称Chat Generative Pre-trained Transformer

chatGPT&#xff0c;有时候我会拼写为&#xff1a;chatGTP&#xff0c;所以知道这个GTP的全称是很有用的。 ChatGPT全名&#xff1a;Chat Generative Pre-trained Transformer &#xff0c;中文翻译是&#xff1a;聊天生成预训练变压器&#xff0c;所以是GPT&#xff0c;G是生…

DIDL3_模型选择、复杂度、过欠拟合的相关概念

模型选择、复杂度、过欠拟合的概念模型选择训练误差和泛化误差验证数据集和测试数据集K-则交叉验证&#xff08;没有足够多数据时使用&#xff09;过拟合和欠拟合模型容量模型容量的影响估计模型容量控制模型容量数据复杂度处理过拟合的方法&#xff08;1&#xff09;&#xff…

关于最近大热的AI,你怎么看?

AI人工智能&#xff0c;相信大家都不陌生&#xff0c;也都接触过不少。但是最近小编在网上冲浪的时候发现各大媒体又掀起了一阵AI热潮&#xff0c;AI不是很常见了吗&#xff1f;是又有什么新的发展吗&#xff1f; 带着强烈的好奇心&#xff0c;我在地铁上读完了一篇关于Chatgp…

【分享】如何通过集简云将ChatGPT人工智能接入到您的内容平台中?

ChatGPT是一款非常强大的人工智能产品&#xff0c;可以有创造性的回复和创作文字&#xff0c;图片&#xff0c;适用于很多办公场景。这篇文章将介绍如何将ChatGPT接入到您的办公系统中。 目前集简云提供了两个ChatGPT应用: OpenAI(ChatGPT&#xff09;内置&#xff1a;这个是集…

IB化学考什么?这些知识点请收藏

春天来了&#xff0c;IB大考还会远吗&#xff1f;不少学生为IB大考紧张不已。为大家介绍一下IB化学的相关内容。01考试时间和考试形式 2023年IB考试将于2023年4月27日开始&#xff0c;2023年5月19日结束。化学部分的考试分别是在5月11日、12日进行。 IB化学考试包括&#xff1a…

LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)

&#x1f48c; 所属专栏&#xff1a;【LeetCode题解&#xff08;持续更新中&#xff09;】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的码仔&#xff0c;专注基础和实战分享 &#xff0c;欢迎…