2009-07-22 50 views
12

我正在用python編寫一個非常基本的應用程序(目前它只有一個文件)。我的問題是我如何獲得它,所以python腳本能夠在沒有.py擴展名的/ usr/bin中運行?Python腳本在/ usr/bin

例如,而不是運行

python htswap.py args 
從那裏目前是,我希望能夠到CD到任意目錄,並提前做

htswap args 

感謝目錄

回答

31

通過重命名文件,可以簡單地剝離.py擴展名。然後,你必須把下面一行在你的文件的頂部:

#!/usr/bin/env python 

env是一個小程序,設置,使執行權python解釋環境。

您也可以使你的文件的可執行文件,用命令

chmod a+x htswap 

並轉存到/usr/local/bin。這比/usr/bin更乾淨,因爲該目錄的內容通常由操作系統管理。

+0

經過很多痛苦和瀕死體驗後,我建議使用爲#!/ usr/bin/env開發的特定python版本python (例如python2.4)。更好地控制python版本運行可執行文件(至少對於我經歷過的情況,YMMV) – 2009-09-21 17:31:50

13

該文件的第一行應該是

#!/usr/bin/env python 

您應該刪除.py擴展,使文件的可執行文件,使用

chmod ugo+x htswap 

編輯:正確輸出,這樣Thomas點腳本應放置在/usr/local/bin而不是/usr/bin。請大家回答他的回答(也許是我的代價)。對於這種東西,我們所說的七個贊成票是荒謬的)

+0

沒錯,就是這樣,我早些時候做了這個,由於某種原因,它沒有奏效,結果我忘記了!在shebang – 2009-07-22 20:32:40

2

Shebang?

#!/usr/bin/env python 

把,在你的文件的開頭,你就設置

+2

哦寶貝,當她移動... – Alex 2009-07-22 20:32:10

1

添加#!/usr/bin/env pythonhtswap.py最頂部,並重新命名htswap.pyhtswap然後執行命令:chmod +x htswap使htswap可執行文件。

-1

我在Python的官方教程,http://docs.python.org/tutorial/index.html看,那

#! /usr/bin/env python 

使用,就像上面的答案建議。請注意,您還可以使用以下內容

#!/usr/bin/python 

這是您將在shell腳本中看到的樣式,如bash腳本。例如

#!/bin/bash 

看到官方的嘖嘖具有第一個選項,可能是你最好的選擇。代碼中的一致性是要努力的!

+1

作爲參考,第一個更好,因爲它是可移植的。並非每個文件系統都有第二種選擇。 – JasTonAChair 2017-02-19 00:48:29