前段时间想自学一下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就可以使用了。