打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
浅谈脚本首行井!/usr/bin/env python与井!/usr/bin/python区别

首先给大家道个歉,由于标题不支持#,所以才用井来代替。

#!/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]

测试完成

一个典型的反面教材。

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
#!/usr/bin/env python 有什么用?
#!/usr/bin/python3
#!/usr/bin/python语句与#!/usr/bin/env语句设置运行环境
编写Shell脚本的最佳实践
Python 3 解释器
Shell编程关于Sha-Bang(#!)的Q & A
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服