[英]Is “python2” / “python3” safe on a script's shebang?
有時我會看到#!/usr/bin/python2
和#!/usr/bin/python3
而不是#!/usr/bin/python
。 我得到了這種方法的吸引力,你可以明確地說明你是否需要Python 2或3而不做一些奇怪的版本檢查。
這些是python2
和python3
標准嗎? 他們會到處工作嗎? 還是有風險?
我剛剛確認我有python2
和python3
但我在Cygwin上,所以我不認為這意味着它對於很多其他人來說必然是相同的。
注意:對於考慮#!/usr/bin/python
有或沒有數字的人,更重要的是要記住python
甚至不總是在/usr/bin
(例如FreeBSD和OSX),所以使用#!/usr/bin/env python
如果你想要最大的可移植性。
然后祈禱env
在/usr/bin
。
作為單一參考點 - 我的系統上沒有python2
可執行文件:
$ python2
-bash: python2: command not found
所以我絕對不會認為這個是便攜式的。 顯然,我仍然可以通過顯式選擇可執行文件來運行腳本:
python2.7 your_script.py
或者通過將python2
符號python2
python2.7
,但重點是它不適用於我(我想象其他一些用戶)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.