2014-10-28 42 views
2

對於R和Python中的我的命令,我使用SublimeREPL的Sublime Text 3和SublimeREPL。無論何時啓動SublimeREPL,它都將當前工作目錄設置爲Sublime Text安裝目錄。這在Windows和Mac OSX上都會發生。通常,我需要運行R或Python中的代碼,該代碼打開與我正在運行的Rpy文件位於同一文件夾中的文件。在正常情況下(即不使用Sublime Text),這可以正常工作,因爲R或Python解釋器知道要在腳本所在的同一目錄中查找。將工作目錄設置爲SublimeREPL中活動腳本的位置

但是,對於SublimeREPL,命令作爲文本「轉移」到SublimeREPL,因此SublimeREPL不知道程序來自哪裏。因此,我需要在每個程序中明確指定我嘗試訪問的文件的位置,這有點難以處理,特別是如果我的程序四處移動(他們會這樣做)。

是否有某種方法使SublimeREPL在啓動時將當前工作目錄設置爲與當前活動腳本文件相同的目錄?這將是一個很好的解決方法,因爲如果我更改爲使用位於不同目錄中的文件,它意味着必須重新啓動REPL。

enter image description here

+0

我已經在ubuntu上安裝了SublimeText3和SublimeREPL的一個乾淨版本,當我啓動SublimeREPL並編寫'import os; os.getcwd()'它正確顯示我當前的文件目錄。換句話說,我不能重現你的問題。 – 2014-11-06 13:31:10

回答

1

我有同樣的問題,找到答案here

對於Python和IPython中,在你Packages/User文件夾中創建SublimeREPL/config/Python/Main.sublime-menu,其中指定"cwd": "$file_path"

[ 
    { 
     "id": "tools", 
     "children": 
     [{ 
      "caption": "SublimeREPL", 
      "mnemonic": "r", 
      "id": "SublimeREPL", 
      "children": 
      [ 
       { 
        "caption": "Python", 
        "id": "Python", 

        "children":[ 
         { 
          "command": "repl_open", 
          "caption": "Python - Anaconda", 
          "id": "repl_python", 
          "mnemonic": "p", 
          "args": { 
           "type": "subprocess", 
           "encoding": "utf8", 
           "cmd": ["/path/to/Anaconda/python", "-i", "-u"], 
           "cwd": "$file_path", 
           "syntax": "Packages/Python/Python.tmLanguage", 
           "external_id": "python", 
           "extend_env": {"PYTHONIOENCODING": "utf-8"} 
          } 
         }, 
         { 
          "command": "repl_open", 
          "caption": "IPython - Anaconda", 
          "id": "repl_python_ipython", 
          "mnemonic": "p", 
          "args": { 
           "type": "subprocess", 
           "encoding": "utf8", 
           "autocomplete_server": true, 
           "cmd": ["/path/to/Anaconda/python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"], 
           "cwd": "$file_path", 
           "syntax": "Packages/Python/Python.tmLanguage", 
           "external_id": "python", 
           "extend_env": { 
            "PYTHONIOENCODING": "utf-8", 
            "SUBLIMEREPL_EDITOR": "$editor" 
           } 
          } 
         } 
        ] 
       } 
      ] 
     }] 
    } 
] 

我想,對於R是相同的。

+1

請不要複製和粘貼其他答案,即使你鏈接到他們。如果答案解決了另一個問題,則應將該問題標記爲重複,或者至少在評論中留下相關答案的鏈接。 – MattDMo 2016-01-25 16:02:04

+0

對我來說有效的不是「cwd」:「$ file_path」,正如上面的答案中提出的那樣,而是「cwd」:「$ folder」。你可以在這裏找到我的問題的詳細說明:https://stackoverflow.com/questions/45077749/why-sublimerepl-wont-import-a-python-module-or-read-a-file-in-cwd – 2017-07-13 11:42:44

相關問題