簡體   English   中英

腳本的shebang上的“python2”/“python3”安全嗎?

[英]Is “python2” / “python3” safe on a script's shebang?

有時我會看到#!/usr/bin/python2#!/usr/bin/python3而不是#!/usr/bin/python 我得到了這種方法的吸引力,你可以明確地說明你是否需要Python 2或3而不做一些奇怪的版本檢查。

這些是python2python3標准嗎? 他們會到處工作嗎? 還是有風險?

我剛剛確認我有python2python3但我在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM