前段时间想自学一下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的情况下)的更多相关文章

  1. linux安装python3(已有python2.x情况下)

    参考:https://www.cnblogs.com/Guido-admirers/p/6259410.html 1.官网下载python3 cd /home/download wget https: ...

  2. 关于Linux下Texlive无法找到已安装字体的问题与解决

    关于Linux下Texlive无法找到已安装字体的问题与解决 当我在Ubuntu系统下使用Latex时,在编译渲染时报出了Font "xxx" does not contain r ...

  3. m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置

    m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...

  4. ubuntu下python3及idle3的安装

    一.使用以下命令检查自己的系统下是否有python3 python3 --version 如果出现类似“command not found",则说明你需要安装python3.如果能够出现py ...

  5. Windows环境下python3.7版本怎么安装pygame

    访问此网址 下载对应Python版本的pygame,如下图: 下载完成后,会有一个whl后缀的文件. 将此文件复制到Python根目录下的scripts目录下,打开cmd, 切换到scripts目录下 ...

  6. 已经安装了Myeclipse8.5 的情况下,激活myeclipse10.7要注意

    使用下载好的10.7的包里的激活文件和提供的激活方法激活,不成功,在网上搜索了很多方法试过也不成功,最后打开安装目录D:\MyEclipse 10下的myeclipse.ini文件,发现如下内容: . ...

  7. 错误ORA-01110,在已删除数据文件情况下如何删除表空间

    如果先行删除了数据文件,再删除表空间,drop tablespace 会出现如下错误: ORA-01116: error in opening database file 89 ORA-01110: ...

  8. 插件化开发—动态加载技术加载已安装和未安装的apk

    首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...

  9. 插件化开发—动态载入技术载入已安装和未安装的apk

    首先引入一个概念,动态载入技术是什么?为什么要引入动态载入?它有什么优点呢?首先要明确这几个问题.我们先从 应用程序入手,大家都知道在Android App中.一个应用程序dex文件的方法数最大不能超 ...

随机推荐

  1. 09 - Django应用第六步

    1 自定义页面 在项目中, 肯定不会只是显示单纯的HTML文件, 我们可能还需要JS, CSS, 图片等 这些文件就被称为静态文件(starIc files) 在小的项目中, 可能静态文件比较少, 但 ...

  2. BZOJ4545: DQS的trie

    BZOJ4545: DQS的trie https://lydsy.com/JudgeOnline/problem.php?id=4545 分析: 对trie用dfs建sam复杂度是\(O(n^2)\) ...

  3. 检测 iOS 的 APP 性能的一些方法

    本文转载于微信公众号:iOS大全 首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测.但对于复杂情况可能就需要用到子线程监控主线程的方式来了,下面我对这些方法做些介 ...

  4. HDOJ1015(简单深搜)

    Safecracker Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  5. DCloud-MUI:Hello mui

    ylbtech-DCloud-MUI:Hello mui MUI-最接近原生App体验的前端框架 1. 返回顶部 1. MUI-最接近原生App体验的前端框架 极小 100k的js文件,60k的css ...

  6. mysql数据库之表与表之间的关系

    表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 ...

  7. Mysql 数据库时间更新字段

    关于时间更新: 创建时间: CURRENT_TIMESTAMP 更新时间: 勾选根据时间戳更新

  8. BIOS MCSDK 2.0 User Guide - Acronyms and Definitions

    BIOS MCSDK 2.0 User Guide - Texas Instruments Wiki Acronyms and Definitions The following acronyms a ...

  9. OS X 10.9 Mavericks下显示和隐藏文件(区别10.8.*)

    我们常常在Windows系统下通过界面设置显示和隐藏文件,在Mac OS X通常采用defaults write命令来解决这个问题. 之前的OS X 10.8.*系统可以使用如下两条命令来开始或者关闭 ...

  10. android activity生命周期的一张经典图片

    图片来自http://blog.csdn.net/android_tutor/article/details/5772285 onpause只有弹出的窗体是Activity的时候才会触发,并非是通过焦 ...