linux下python3的安装(已安装python2的情况下)
前段时间想自学一下python,就在虚拟机里已安装python2.7的情况下又安装了最新版python3.6.4。于是问题来了。。只要一打开终端就出现一大段错误代码(忘记截图了),当时看到是ros和python有问题,于是直接把ros给卸载了,我重装还不行吗??好吧,安装一开始初始化rosdep就出现如下错误:

原来是python有问题!!
由于不知道在我安装3.6版本之前/usr/bin文件夹是什么个情况(不知道里面的文件哪些需要哪些不需要),真是无从下手,后来换了一台电脑比较了一下,果然是python文件出了问题(原本应该和其他的一样是个可执行程序,它失去了与python3.6m的链接),而我又找了一下,python3.6被我安装在/usr/local/bin下。

不管三七二十一,试着重新安装一下python3.6吧,按照这个博客里的方法安装了一下,
https://www.cnblogs.com/Guido-admirers/p/6259410.html
python3.6是安好了,可是也许因为版本太新,和ros不是很兼容?可以在网上搜一下在ros中使用python3的方法。
https://www.cnblogs.com/h46incon/p/6207145.html
我感觉太麻烦了,还是默认使用python2.7吧。。学习python的时候再自己用3.6版本。
下面是具体步骤:
一、官网下载python3的所需版本
这个自己下吧,我用原来已经下好的Python-3.6.4
二、解压文件
我解压在/opt下
三、创建安装文件的路径
(安装在/usr/local路径下,而不是/usr。
/usr/bin与/usr/local/bin的区别:/usr/bin是系统文件夹,有很多重要的系统文件,而/usr/local/bin就是用户自己下载的程序放在里面)
mkdir /usr/local/python3
四、编译
./configure --prefix=/usr/local/python3
五、安装
sudo make sudo make install
六、创建新版本的软链接
(这个软链接是个什么东西呢,上面已经说了/usr/bin与/usr/local/bin的区别,就是说只要把/usr/local/bin生成的二进制文件链接到/usr/bin里面的二进制文件,就可以实现直接调用了)
1、修改旧版本
就是把原来系统默认的python文件改个名字,不用它了
sudo mv /usr/bin/python /usr/bin/python_pre
2、创建新的软链接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/bin/python2 /usr/bin/python
这里我把默认的python还是链接在python2上,若想使用python3,就输入python3
3、检查python的版本
python -V
显示python-3.6.4
软链接创建成功
七、配置成功后,pip3用不了,需进一步配置。
PATH=$PATH:$HOME/bin: PATH=$PATH:$HOME/bin:/usr/local/python3/bin
这时pip3就可以使用了。
linux下python3的安装(已安装python2的情况下)的更多相关文章
- linux安装python3(已有python2.x情况下)
参考:https://www.cnblogs.com/Guido-admirers/p/6259410.html 1.官网下载python3 cd /home/download wget https: ...
- 关于Linux下Texlive无法找到已安装字体的问题与解决
关于Linux下Texlive无法找到已安装字体的问题与解决 当我在Ubuntu系统下使用Latex时,在编译渲染时报出了Font "xxx" does not contain r ...
- m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置
m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...
- ubuntu下python3及idle3的安装
一.使用以下命令检查自己的系统下是否有python3 python3 --version 如果出现类似“command not found",则说明你需要安装python3.如果能够出现py ...
- Windows环境下python3.7版本怎么安装pygame
访问此网址 下载对应Python版本的pygame,如下图: 下载完成后,会有一个whl后缀的文件. 将此文件复制到Python根目录下的scripts目录下,打开cmd, 切换到scripts目录下 ...
- 已经安装了Myeclipse8.5 的情况下,激活myeclipse10.7要注意
使用下载好的10.7的包里的激活文件和提供的激活方法激活,不成功,在网上搜索了很多方法试过也不成功,最后打开安装目录D:\MyEclipse 10下的myeclipse.ini文件,发现如下内容: . ...
- 错误ORA-01110,在已删除数据文件情况下如何删除表空间
如果先行删除了数据文件,再删除表空间,drop tablespace 会出现如下错误: ORA-01116: error in opening database file 89 ORA-01110: ...
- 插件化开发—动态加载技术加载已安装和未安装的apk
首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...
- 插件化开发—动态载入技术载入已安装和未安装的apk
首先引入一个概念,动态载入技术是什么?为什么要引入动态载入?它有什么优点呢?首先要明确这几个问题.我们先从 应用程序入手,大家都知道在Android App中.一个应用程序dex文件的方法数最大不能超 ...
随机推荐
- C#实现读写文本文件中的数据
[1]首先我们定义一段假数据,这里以一个string为例字 static void Main(string[] args) { string data = &quo ...
- poj3414Pots(倒水BFS)
Pots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13231 Accepted: 5553 Special J ...
- app专项测试(稳定性测试、安全性测试)
https://blog.csdn.net/xiaomaoxiao336368/article/details/84887948
- C#设计模式(8)——桥接模式
一.概念 桥接模式即将抽象部分与实现部分脱耦,使它们可以独立变化. 二.模型 三.代码实现 // 客户端调用 // 类似Web应用程序 class Client { static void Main( ...
- redis GEO地理位置命令介绍
GEOADD keylongitude latitude member [longitude latitude member ...] Available since 3.2.0. Time comp ...
- TCP的三次握手和四次挥手,为什么?
首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息.而半双工的意思是A可以给B发,B也可以给A发,但是A在给B发的时候,B不能给A发,即不同时,为半双 ...
- sublime text 3如何安装插件和设置字号
使用ctrl + ~(这个符号是键盘上1前面那个),如果不能调用出就需要修改快捷键,在Preferences ->Key Bindings - Default打开文件后,大概在248行,这里我修 ...
- 1. sqlmap超详细笔记+思维导图
sqlmap思维导图: 基本操作笔记: -u #注入点 -f #指纹判别数据库类型 -b #获取数据库版本信息 -p #指定可测试的参数(?page=1&id=2 -p "page, ...
- 【TMF eTOM】业务流程框架介绍
TMF文档版权信息 Copyright © TeleManagement Forum 2013. All Rights Reserved. This document and translations ...
- 【mybatis-SqlSession的方法总结】
SqlSession 实例在 MyBatis 中是非常强大的一个类.SqlSession 实例中有所有执行语句的方法,提交或回滚事务,还有获取映射器实例. 在 SqlSession 类中有超过 20 ...