写Python 的时候,开头总有这么两句
#!/usr/bin/env python
#-*- coding:utf-8 -*-
这两句是干啥的呢?
- 第一句,分两种情况
- 1.1如果调用Python脚本时, 使用
python script.py
那么第一句被忽略, 等同于注释 - 1.2 如果调用Python脚本时,使用
./scripy.py
或者直接点击脚本执行,第一句将指定解释器的路径。但此时要注意的是,不要写成
#! /usr/bin/python
错在两点
- 1.2.1 小的错误是,你不清楚不同的发布版环境下,Python可执行文件到底在哪里。
- 1.2.2 大的错误是,如果在virtualenv虚拟环境下运行脚本,则Python解释器必须在virtualenv虚拟环境文件夹下bin/目录中包裹的Python,但此时/usr/bin/python仍然存在,则脚本将在脱离虚拟环境的解释器下运行!
#!usr/bin/env python这种用法是为了防止操作系统用户没有将Python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找Python的安装路径,再调用对应路径下的解释器程序完成操作。
也就是说#!usr/bin/python写死了Python路径!
- 1.1如果调用Python脚本时, 使用