首先给大家道个歉,由于标题不支持#,所以才用井来代替。 #!/usr/bin/env python与#!/usr/bin/python的区别 #!/usr/bin/python: 是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。 #!/usr/bin/env python: 当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。 补充: #!/usr/bin/python相当于写死了python路径。 #!/usr/bin/env python会去环境设置寻找python目录。 注意: 防止用户没有将python装在默认的/usr/bin路径里,推荐使用#!/usr/bin/env python。 注意安装双版本的python的指向是哪个版本的[下有案例] 案例: vim demo.py 简单的写一个python脚本 注意:这里是通过env去path中寻找解释器 #!/usr/bin/env python name = raw_input('what is your name:') print('hello, %s' %name) 运行 ./demo.py 报了一个未定义raw_input的错 raw_input是python2的,python3已经废弃 查看一下环境变量中python解释器 env python 如下图:是python3.6.2 咱们再到/usr/bin下看一看 cd /usr/bin ll python* 可以看到这里我们是装了双版本的python python2.7.5和python3.6 并且python指向的是python3.6 解决方案: 1、 指定解析器 2、 修改脚本 写死python路径 3、修改python指向python2.7.5[不做演示] 补充: 由于yum是使用的python2.7.5 一定要记得查看一下/usr/bin/yum文件的解析器[python2] 测试完成 一个典型的反面教材。 欢迎大家给予宝贵的意见或者建议。 欢迎大家补充或者共享一些其他的方法。 感谢支持。 |
|