---------------------------------------

最近在服务器上想运行个脚本,装了个python3.6,但是他还自带了个2.7版本,后来发现上面还有3.5版本的python- -都不知道运行的是哪一个版本了,所以在这整理一下.

---------------------------------------

软链接:

在python3.6版本刚装上的时候,说是需要设置一个软链接,比如,python装在了 /usr/local/python3 这个路径,那么就做一个软链接:

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

就是说 把安装目录下面bin里面的python3 快捷方式再链接到 /usr/bin 里面建立一个python3软链接,这个快捷方式可以任意命名,这样直接在命令行里面输入python3 -V 就输出了python3的版本.可以直接在任意路径里面输入python ***.py 执行脚本.

但是! 为什么这样设置之后不需要环境变量了?不是只有设置环境变量之后才能直接在命令行里面使用python命令么?原来:

在环境变量的配置文件 /etc/profile 里面,已经默认加上了 /usr/bin 这个路径 ,所以说如果把软链接创建在这个路径里面,就算不加上python的环境变量,也是可以直接在命令行里面调用python的.

这样建软链接的坏处就是,还有pip等一系列命令的软链接等着你创建,而加环境变量的话,只需要在环境变量的配置文件里面加上这一句:

export PATH=$PATH:/usr/local/python3/bin

原来pythjon为了我们方便,把所有的可执行程序都创建了快捷方式(软链接)在 bin 这个目录里面,包括python主程序,pip等,所以只需要在环境变量里面加上 /usr/local/python3/bin 这个目录就可以了. 其中export的意思好像是对环境变量做出设置,命令的意思是使PATH自增,增加一条路径,注意等号两边都不能有空格.

修改完之后用 执行 source /etc/profile 命令让环境变量生效.

Python_linux环境变量和软链接(个人理解)的更多相关文章

  1. ubuntu下关于profile和bashrc中环境变量的理解

    (0) 写在前面 有些名词可能需要解释一下.(也可以先不看这一节,在后面看到有疑惑再上来看相关解释) $PS1和交互式运行(running interactively): 简单地来说,交互式运行就是在 ...

  2. ubuntu下关于profile和bashrc中环境变量的理解(转)

    ubuntu下关于profile和bashrc中环境变量的理解(转)   (0) 写在前面 有些名词可能需要解释一下.(也可以先不看这一节,在后面看到有疑惑再上来看相关解释) $PS1和交互式运行(r ...

  3. uboot环境变量初始化

    一.环境变量概述 1.环境变量的概念 可以理解为用户对软件的全局配置信息,这部分信息应该可以从永久性存储器上读取,能被查询,能被修改. 启动过程中,应该首先把环境变量读取到合适的内存区域,然后利用环境 ...

  4. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

  5. 环境变量、cp、mv、cat 等命令

    1.环境变量: PATH 个人理解 环境变量,即是所有命令文件所存放的目录,或是人为的定义的目录,(命令文件所存放的目录,当输入一个命令的时候,系统会自动找到且不报错,并不需要输入绝对路径,来运行相关 ...

  6. 延迟环境变量扩展(bat)

    延迟环境变量扩展(bat) 之前遇到一些环境变量的问题,简单记录下 From:http://www.cnblogs.com/dongzhiquan/archive/2012/09/05/2671218 ...

  7. 关于java中jdk的环境变量配置

    关于java中jdk的环境变量配置 烦死人,在网上找了很长时间.最终找到了一个方法!现在将其总结帮助后来人. 方法/步骤   1 下载好jdk,并按照提示一步步安装,最后记下jdk所在的安装位置,这里 ...

  8. 理解及操作环境变量(基于Mac操作)

    通过本文,简单的了解下环境变量及其操作,与便于遇到相关问题时能够准确快捷的解决. 什么是环境变量 An environment variable is a dynamic-named value th ...

  9. java基础(一):我对java的三个环境变量的简单理解和配置

    首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...

随机推荐

  1. Android首选项SharedPreference-android学习之旅(六)

    SharedPrefenence采用的键值对的方式来进行存储,采用内部存储的方式. 实例 public class MainActivity extends Activity { private Sh ...

  2. RecyclerView嵌套RecyclerView

    ListView嵌套GridView http://blog.csdn.net/baiyuliang2013/article/details/42646289 RecyclerView下拉刷新上拉加载 ...

  3. (一〇三)静态库(.a)的调试

    上节介绍的方法,只能创建静态库而不能调试,因为直接创建静态库工程并非可执行文件. 本文介绍的方法创建的静态库断点能够在调试时起作用. 为了能够调试静态库,应该在一个可执行工程(例如Single Vie ...

  4. TortoiseSVN服务器ip地址修改后如何使用

    TortoiseSVN是很多人特别是程序员经常使用的工作追述工具,在长期使用过程中难免会遇到服务器迁移ip地址变更的问题.那么在服务器ip地址变化之后,我们要如何继续使用呢?步骤其实非常简单,下面我们 ...

  5. 用SpriteBuilder简化"耕牛遍地走"的动画效果(四)

    写到这突然有童鞋质疑,你这哪里是牛,分明是熊嘛! 仔细看了下,还真像牛.反正是这个意思.怪本猫猪牛熊不分,好在道理是一样的. 下面继续,言归正传. 添加一个空白的touchBegan方法,如果没有这个 ...

  6. js对象、构造函数、命名空间、方法、属性

     <script language="javascript">   var myNameSpace = new Object(); //构造一个命名 空间myCla ...

  7. Linux Debugging(七): 使用反汇编理解动态库函数调用方式GOT/PLT

    本文主要讲解动态库函数的地址是如何在运行时被定位的.首先介绍一下PIC和Relocatable的动态库的区别.然后讲解一下GOT和PLT的理论知识.GOT是Global Offset Table,是保 ...

  8. OJ题:字符串最后一个单词的长度

    题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 ...

  9. jsp自动编译机制

    总的来说,Jasper的自动检测实现的机制比较简单,依靠某后台线程不断检测JSP文件与编译后的class文件的最后修改时间是否相同,若相同则认为没有改动,但倘若不同则需要重新编译.实际上由于在Tomc ...

  10. 【一天一道LeetCode】#81. Search in Rotated Sorted Array II

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Follow ...