工作生活

ubuntu下关于python2.7与3.5默认版本切换(软连接

2019-07-03  本文已影响0人  白日梦蓝_

    ubunutu16自带有python2.7和python3.5两个版本,由于学习工具需要切换默认的python版本,如deepdive只支持在python2的环境下运行,而iepy则要求python3以上才允许安装。

    参考博客https://blog.csdn.net/White_Idiot/article/details/78240298后完成了update-alternatives的设置,由于后来操作不当,踩了一些坑,这里记录一下。

linux的软连接机制类似与window的快捷方式,右下角有小箭头,rm修改时一定不能删错

    根据以上链接使用update-alternatives设置好python版本后,会先 在/usr/bin目录下创建一个名为python的软连接,如图,

    打开属性查看,它又指向etc/alternatives/内的一个名为python软链接,当你输入update-alternatives --config python修改默认版本时,这个etc下的python软连接会根据输入不同来改变它的link target,再返回去指向真正的可执行文件。今天就是没搞懂这个机制,在bin/目录下又创建了一个python软连接,结果输入python --version和sudo python --version出现了不一致,其实就是因为设置了两次update_alternatives,导致2个python --version命令重叠(sudo python --version),找到原因后,依次讲bin/下的python软连接删除,再删除usr/bin/下的python软连接,重新走一遍alternatives的设置即可。

    另外,deepdive是不能在python3的环境下执行的,如果你正好使用这个工具出现了一下这个错误:

[ERROR] articles: No such table defined in schema

‘run/ABORTED’ -> ‘20190703/173834.074432838’

  File "/home/jiang/local/util/ps_descendants", line 68

    print "\n".join(pids)

            ^

SyntaxError: invalid syntax

别傻乎乎的去改ps_descendants文件了,默认版本换成python2就行。

另外,几个不错的命令:

which python   能真正指向你的默认python的执行文件路径

ln –s  /var/www/test   /var/test  创建一个软链接

ll /usr/bin  列出目录下所有软连接

sudo ln -s /usr/bin/python3.5  /usr/bin/python  在/usr/bin/下创建名为python的软连接,并让它指向/usr/bin/python3.5

上一篇下一篇

猜你喜欢

热点阅读