zoukankan      html  css  js  c++  java
  • Linux下多版本python共存时,默认执行路径修改方法

    遇到的问题和环境是这样:首先workspace上存在一个Python2.7和一个Python3.5,其中Python3.5是理想的运行环境,有很多自定义模块,运行代码时需要这个环境。原本默认是在这个环境下跑的,后来安装了一个叫miniconda3的东西,里面自带一个Python3.7环境,于是问题来了,所有执行程序全部变成了使用这个新的Python3.7环境来跑,这个新环境没有安装和适配需要的模块,导致程序全部报错。

    现在要做的是将环境从Python3.7改回原来的Python3.5。
    通过which python得知当前bash里默认跑的Python环境的路径位置。

    我们得知,每个程序在跑的时候会根据~/.bashrc 或 ~/.zshrc中的脚本配置的路径来按顺序寻找可能的路径。也就是说你通过 export方法https://blog.csdn.net/Kevinhanser/article/details/79352109来更新你的环境变量时,是即时有效的,这个方法可以立即解决你某个程序环境错误的问题,立即使用你想要的环境(当然你要知道你需要的环境的正确路径才能加到PATH中)

    当然还有别的方法一劳永逸的更改环境变量,你可以将你需要的正确路径写入~/.bashrc 中,当然这个文件你肯定不陌生,里面添加了各种程序的PATH以及某些自定义的缩写。PATH的组成形式类似字符串的+=,他会将某个路径,如PATH=/home/tuotu/bin:$PATH的方式,不断延长这个字符串,这个串以:为分隔符,每次按顺序便利该串的每一个路径,遇到能用的就会使用这个路径指向的环境。当然你也可以反过来写,$PATH 写新路径的前面。这样相当于将新路经的位置放在了相对后面的位置。如过各个路径所使用的环境不冲突的话当然无所谓,但是此处是多个Python的存在,语法都差不多,只是内容不一样了,所以要严格区分。目前的情况是miniconda3中Python3.7的路径被放到了PATH中相对较前的位置。为了解决这个问题,我们应该把正确的路径放到Python3.7的前面,使系统先遍历到这个路径,而不是Python3.7.

    之后我更改了路径,无意中在~/.bashrc把正确的路径放到了miniconda3的PATH之前,这导致我设定的路径直接“无效”,因为这毕竟是一个脚本,按顺序执行,先将正确的路径放到了前面,后面就会被错误路径盖住,导致正确路径失效,错误路径被读入且使用。所以编辑脚本的好习惯还是将最新的最需要的PATH放到脚本的末尾部分~问题解决

  • 相关阅读:
    Leetcode 1349 参加考试的最大学生数
    卡特兰数小结
    Leetcode 76 最小覆盖字串 (滑动窗口)
    Leetcode 5331.跳跃游戏
    实现对properties文件的有序读写
    Android日志框架darks-logs使用教程
    Android入门-Service-start,end,bind,unbind之间的区别
    Android实用代码七段(一)
    [转帖]自动调整TextView字体大小以适应文字长度
    apk,task,android:process与android:sharedUserId的区别
  • 原文地址:https://www.cnblogs.com/kuronekonano/p/11135652.html
Copyright © 2011-2022 走看看