2017-09-14 23 views
0

當我嘗試構建python腳本時,Sublime Text正在嘗試使用Ruby構建腳本(我已經使用Sublime Text 3創建了一個非常奇怪的構建問題最近更新之後從How to update Ruby Version 2.0.0 to the latest version in Mac OSX Yosemite?指令)Sublime Text 3試圖將Python編譯爲Ruby

當我嘗試建立的python腳本(我已經在終端使用沒有問題的python3命令來運行)我得到這個

[Finished in 0.2s with exit code 1] 
[shell_cmd: python -m py_compile "/Users/trentprynn/Dropbox/Old Semester Documents/1st Semester Freshman documents/Csc 127a/Homework/rocketship.py"] 
[dir: /Users/trent/Dropbox/Old Semester Documents/1st Semester Freshman documents/Csc 127a/Homework] 
[path: /Users/trent/.rvm/gems/ruby-2.4.1/bin:/Users/trent/.rvm/gems/[email protected]/bin:/Users/trent/.rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/trent/.rvm/bin] 

這在某種程度上似乎是在崇高3它試圖與Ruby而不是Python編譯,我不知道如何解決這個問題。我試着將構建系統更改爲python,並且我收到了同樣的錯誤。任何幫助表示讚賞

+2

它看起來不像我試圖用Ruby編譯;它只是在'path'上有一堆Ruby目錄,看起來很好。在可執行文件搜索路徑中有一堆目錄與您嘗試運行的內容無關,這是非常正常的。 – user2357112

+2

雖然它可能試圖用Python * 2 *編譯腳本。 – user2357112

回答

0

正如它在您的問題的評論中提到的,您看到的引用Ruby的文本顯示了您的系統路徑的內容(可能找到要執行的命令的位置)。

python -m py_compile "/Users/trentprynn/Dropbox/Old Semester Documents/1st Semester Freshman documents/Csc 127a/Homework/rocketship.py" 

這就是說,你有幾個潛在的問題在這裏:

是崇高實際上是試圖執行的過程由shell_cmd線,這是代表。

第一個是它正在運行python -m py_compile,這意味着即使沒有其他問題,它也不會運行您的程序,它只是要編譯它。這是Sublime附帶的Python構建系統的Syntax Check變體。

除非你的目的只是爲了檢查你的代碼的語法是正確的,你可能想從菜單中選擇Tools > Build With並選擇Python選項,而不是Python - Syntax Check版本,這將運行代碼,而不是僅僅驗證這是有效的。如果你的代碼是Python 3特定的,那可能是爲什麼它失敗了。(同樣,如同評論中所提到的)它可能運行Python 2而不是Python 3,所以如果你的代碼是Python 3特定的,那很可能是它失敗的原因。大概它也應該給你上面輸出的語法錯誤,以解釋爲什麼它不快樂。

在MacOS上,python通常指的是Python 2,除非您明確採取了一些步驟使其成爲Python 3。通常,在MacOS上安裝Python 3時,最終會生成一個名爲python3的二進制文件,而不是python,因此它不會與其他版本發生衝突,因爲它們彼此不兼容。

假設是這種情況,您可以修改現有的Python\Python.sublime-build文件以調用python3而不是python以確保執行正確的版本。