ubuntu下讓python指令碼可直接執行
阿新 • • 發佈:2019-01-07
我們還是以那個翻譯程式為例子,上次給各位老鐵講了在windows下的應用程式打包,這一次給各位老鐵講一講,在linux下為python檔案可以自己執行,從而不需要python xxx.py。
很簡單,在python原始檔最上面添上下面一句話!
#!/usr/bin/python3
/usr/bin/python3,是ubuntu下python3直譯器所在的目錄,具體可以用which python3檢視
然後在執行chmod +x ./xxx.py,為python指令碼增加可執行許可權
例如我這裡
sudo chmod +x ./translate.py
最後執行./translate.py
然後…………報錯了
-bash: ./translate.py: /usr/bin/python3^M: 直譯器錯誤: 沒有那個檔案或目錄
為什麼?
這個是我在win7下寫好的原始碼,後來用winscp傳到ubuntu上的,所以就造成了一個問題,dos下寫的程式碼,拿到linux下,存在不相容。
解決辦法:
sudo vim translate.py
:set ff=unix
然後在執行 ./translate.py
OK,完美執行,但是細細一看,似乎還不完美,因為每次都要切換到檔案所在目錄才能執行,為了更方使用程式,我們可以將translate.py連線到/usr/bin,或者/usr/local/bin,等等配置了系統環境變數的目錄下
sudo ln -s /xxxx/xxxx/xxxx/translate.py /usr/local/bin/dict
/xxxx/xxxx/xxxx/ ,是translate.py所在的絕對路徑
/usr/local/bin/dict,dict是translate.py軟連線後的重新命名
執行效果
OK,以後在我的ubuntu系統裡,不就有一個現成的翻譯程式了嗎?豈不是美滋滋!