2016-11-24 79 views
0

我讀過許多其他的答案,試圖讓這個工作,但由於某種原因它不會。我已經更改了權限並使用chmod +x <myscript.py>創建了.py可執行文件,並且我已將該文件複製到OSX中默認位於PATH中的/ usr/local/bin中,但是,我仍然無法執行腳本,除非我在它所在的目錄中。你如何使python腳本全局可執行? OSX

另外,我對標題的工作方式有些困惑。我目前有#!/usr/bin/python,因爲當我將其更改爲#!/usr/local/bin以匹配目錄時,當我運行腳本時,我的終端說我有一個「壞解釋器」。

我知道這個話題已經在這裏了很多,但其他修復程序沒有奏效。提前致謝。

+0

嘗試在'/ usr/local/bin'之外運行腳本時會出現什麼錯誤? – Matthew

+0

終端只是說'-bash:./Untitled.py:沒有這樣的文件或目錄' –

+0

,你究竟如何試圖運行它? – Matthew

回答

0

如果你運行你的腳本是這樣的:

./Untitled.py 

bash將嘗試找到腳本在當前目錄中 - 因爲你已經有一個文件路徑調用腳本(一個相對在這種情況下, )。

但是,如果像這樣運行腳本:

Untitled.py 

的Bash會搜索自己的PATH具有該名稱的可執行文件。假設您已經使腳本可執行(使用chmod),並且該腳本駐留在您的PATH中的目錄中,該腳本應該運行。

關於她邦線,而不是硬編碼到一個特定的Python(/usr/bin/python),更常見的做法是這樣的:

#! /usr/bin/env python 

你的腳本將被取Python是在積極執行(例如,您可能正在使用virtualenvpyenv在Pythons之間切換,具體取決於您當前的項目)。

+0

非常感謝!我沒有意識到運行./Untitled.py和Untitled.py的區別 –