在JUNO中计算Julia代码时工作目录的值

在JUNO中计算Julia代码时工作目录的值,julia,juno-ide,Julia,Juno Ide,通常,在IDE中打开和运行文件时,当前路径将是文件的驻留路径,即文件驻留的位置。出于某种原因,经验告诉我们JUNO中的Julia语言并非如此(编辑:在Windows中) 其结果是,除非手动设置路径,否则会收到由于未找到文件而导致的多个错误 如何解决这个问题 为什么会这样?不确定这是否是您的第一个问题,但您可以使用julia终端中的pwd()函数检查当前目录 至于在正确的目录中启动julia,您有几个选项。您可以更改IDE调用的julia可执行文件(或者在.bashrc文件中为其创建别名),以便调

通常,在IDE中打开和运行文件时,当前路径将是文件的驻留路径,即文件驻留的位置。出于某种原因,经验告诉我们JUNO中的Julia语言并非如此(编辑:在Windows中)

其结果是,除非手动设置路径,否则会收到由于未找到文件而导致的多个错误

如何解决这个问题


为什么会这样?

不确定这是否是您的第一个问题,但您可以使用julia终端中的
pwd()
函数检查当前目录

至于在正确的目录中启动julia,您有几个选项。您可以更改IDE调用的julia可执行文件(或者在.bashrc文件中为其创建别名),以便调用julia时如下所示:

julia -P "cd(\"/path/to/my/desired/directory\")"
其中-p告诉julia执行命令,但在解释器模式下继续

或者,您可以编辑
.juliarc.jl
文件,在其中添加您自己的自定义cd(“/my/directory”)命令


特别是对于JUNO,我不知道它有什么特殊的属性来解决这个问题,但是如果你想要的是双击
.jl
文件并在正确的目录下用JUNO打开它,您总是可以将
.jl
扩展名与一个小bash脚本相关联,该脚本当场创建julia别名或覆盖
.juliarc.jl
文件或类似的内容,然后对该文件调用Juno:)

julia和Juno在工作目录方面的工作方式相同。它是在启动Julia时设置的,在调用
cd
之前一直保持不变–它根本不由运行的文件决定

那么,它是如何被选中的呢?
julia
命令从终端继承它,因此运行:

julia script.jl
将在
script.jl
的文件夹中工作

julia dir/script.jl
将在该文件夹上方的文件夹中工作。这只是你启动Julia的文件夹,同样,脚本本身的位置也没什么区别

当Juno引导Julia时,它必须选择启动它的文件夹,并使用您的“项目文件夹”——即您当前打开的文件夹。很简单,但是如果您依赖
pwd()
并且脚本位于项目文件夹的子目录中,则可能会导致问题

解决这一问题的简单方法是完全避免依赖于
pwd()
,而是使用
@\uuuu文件
,它将始终引用当前正在执行的文件。比如说,

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

这是在Julia中加载本地文件最惯用的方法,但是如果您真的开始使用
pwd()
,那么您也可以使用从
Julia Client:Work in…

开始的一组命令轻松地更改工作目录,不过我不得不说我没有遇到这个问题。我刚刚安装了juno进行检查,点击文件在当前目录中启动julia。(通过
pwd()
确认)。你的编辑从哪里开始呢?非常感谢你的尝试。对我来说,它开始于直接的父目录,而不是目录本身。这种情况在Windows中发生。如果将文件移动到其他位置,是否也会发生这种情况?它不仅仅是从一个固定的目录开始的?它不是一个固定的目录。在我移动文件夹的任何地方都会发生。什么操作系统?这以前在Windows中发生,但在一些更新后得到修复。我不知道这些更新是否在标记版本中。请参阅Windows操作系统中的@Chris。