2016-07-22 20 views
1

通常,在IDE中打開並運行文件時,當前路徑將是文件的駐留路徑,即文件所在的位置。出於某種原因,經驗告訴JUNO並不適用於Julia語言(編輯:在Windows中)。在JUNO中評估Julia代碼時工作目錄的值

其結果是,除非他們手動設置路徑,否則由於文件不完整而導致出現多個錯誤。

如何解決這個問題?

這是爲什麼?

+1

什麼操作系統?這用於在Windows中發生,但在更新後已修復。我不知道這些更新是否在標記版本中。請參閱[Juno Gitter尋求幫助](https://gitter.im/JunoLab/Juno)。 –

+0

@Chris在Windows操作系統中。 – user25004

回答

5

朱莉婭和朱諾都調用朱諾小bash腳本就工作目錄而言,工作方式相同。它在您啓動Julia時設置並保持不變,直到您致電cd - 它不是由運行的文件決定的。

如何確實它被選中,然後呢?的julia命令從終端繼承,所以運行:

julia script.jl 

將在script.jl的文件夾工作而

julia dir/script.jl 

將上述一個文件夾中的工作。這只是你從Julia發起的文件夾,並且腳本本身的位置再次沒有任何區別。

當Juno啓動Julia時,它必須選擇啓動它的文件夾,並使用您的「項目文件夾」 - 即當前打開的文件夾。很簡單,但是如果您依賴於pwd()並且您的腳本位於項目文件夾的子目錄中,可能會導致問題。

簡單的解決方案,這是爲了避免依賴pwd()在所有和使用@__FILE__代替,這將總是是指當前正在執行的文件。例如,

readcsv(joinpath(dirname(@__FILE__), "data.csv")) 

這是加載在朱莉婭本地文件的最地道的方式,但如果你真的使用pwd()設置那麼你也可以很容易地使用開始Julia Client: Work in ...命令集的更改工作目錄。

1

不知道這是否是您的第一個問題,但您可以使用julia終端中的pwd()函數來檢查當前目錄。

至於在正確的目錄中啓動茱莉亞,你有幾個選項。你既可以改變你的IDE叫朱莉婭可執行文件(或者,在你的.bashrc文件中爲它創建一個別名),使得朱莉婭被稱爲像這樣:

julia -P "cd(\"/path/to/my/desired/directory\")" 

其中-P告訴朱莉婭執行命令但繼續進行翻譯模式

或者,您可以編輯您的.juliarc.jl文件以在其中添加自己的自定義cd(「/ my/directory」)命令。

至於JUNO,我沒有意識到它可能需要解決這個問題的任何特殊屬性,但是如果您之後要雙擊.jl文件並在右側打開它的juno目錄,你可以在.jl擴展總是關聯到當場創建朱莉婭別名或覆蓋您.juliarc.jl文件或東西沿着這些線路,然後在該文件:)

+1

我不得不說我雖然沒有得到那個問題。我剛剛安裝了juno來檢查,然後點擊文件在當前目錄中啓動julia。 (用'pwd()'確認)。在哪裏*你的編輯器開始呢? –

+0

非常感謝您嘗試此操作。對我來說,它始於直接的父目錄而不是目錄本身。這在我的Windows中發生。 – user25004

+0

如果您將文件移動到其他位置,這是否也會發生?這不僅僅是從一個固定的目錄開始的? –