簡體   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