繁体   English   中英

Shebang系列为Python 2.7

[英]Shebang line for Python 2.7

我在我的Linux Centos中安装了Python2.7,它安装了默认的Python2.6,

默认Python

[root@linuxhost PythonProjects]# python -V
Python 2.6.6

默认Python2.7

[root@linuxhost PythonProjects]# python2.7 -V
Python 2.7.3

现在我需要编写基于python2.7版本的程序...... python2.7的shebang行是什么

另外,我将如何使用python2.7进行编译。

Shebang将是:

#!/usr/bin/env python2.7

我不确定你为什么要编译Python文件(Python会在你导入它们时自动完成)。

如果你真的想:

python2.7 -m compileall .

此命令将当前目录中的.py文件编译为.pyc:

我不认为只有一个sheebang线就能做到。

你可以试试投入

#! /usr/bin/env python2.7

虽然。 - 但真正与你保持一致的是通过virtualenv使用虚拟python环境。

请查看http://www.virtualenv.org/en/latest/virtualenv.html - 否则您将面临使用2.7 Python运行代码但尝试加载python 2.6模块和库的风险,以及更糟糕的情况。

此外,在系统中使用两个相同主要版本的Python的建议是将两者保持在不同的前缀中,例如/ usr中的系统,以及/ opt中的另一个(/ usr / local不足以清除分离)。

您可以将shebang更改为#!/usr/bin/env python2.7

或者你可以使用环境模块 ,让shebang成为#!/usr/bin/env python 当您加载python 2.7模块(可以是您的默认设置)时,脚本使用python 2.7运行,当您加载python 2.6模块时,脚本使用python 2.6运行。

在这个盒子上我安装了python 2.6和2.7。 根据加载的模块,运行所选的python版本。 始终为正确的版本加载库,模块和包。

$ cat t.py 
#!/bin/env python
import sys
print(sys.version)
$ ./t.py 
2.6.6 (r266:84292, Jul 10 2013, 22:48:45) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
$ module load python/2.7.3 
$ ./t.py 
2.7.3 (default, Nov  7 2012, 16:29:59) 
[GCC 4.7.2]
$ 

或者你可以使用virtualenv作为@jsbueno建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM