美文网首页工作生活
ubuntu下关于python2.7与3.5默认版本切换(软连接

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

作者: 白日梦蓝_ | 来源:发表于2019-07-03 17:58 被阅读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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/taschctx.html