Module 如何在JuliaBox笔记本中使用自己的模块?

Module 如何在JuliaBox笔记本中使用自己的模块?,module,julia,ijulia-notebook,Module,Julia,Ijulia Notebook,我最近开始在Julia中使用JuliaBox进行编程,我想使用我自己的模块,我以前使用Juno Atom IDE编写过这些模块。我已将相关模块上传到JuliaBox,但无法从JuliaBox笔记本中调用它们。我得到的错误消息如下: using MyModule ArgumentError: Module MyModule not found in current path. Run `Pkg.add("MyModule")` to install the MyModule package.

我最近开始在Julia中使用JuliaBox进行编程,我想使用我自己的模块,我以前使用Juno Atom IDE编写过这些模块。我已将相关模块上传到JuliaBox,但无法从JuliaBox笔记本中调用它们。我得到的错误消息如下:

using MyModule

ArgumentError: Module MyModule not found in current path.
Run `Pkg.add("MyModule")` to install the MyModule package.

Stacktrace:
 [1] _require(::Symbol) at ./loading.jl:435
 [2] require(::Symbol) at ./loading.jl:405
 [3] include_string(::String, ::String) at ./loading.jl:522
我最初将模块放在一个名为“模块”的单独文件夹中,但即使将其移动到主文件夹(与笔记本相同的位置),我仍然会收到相同的错误消息

我已确定工作目录:

pwd()
"/mnt/juliabox"
…这似乎是我的模块当前存储的文件夹。至少,这是我尝试在主JuliaBox屏幕上移动模块文件时显示的目录

我确实尝试过在PackageBuilder下以未注册包的形式安装该模块(我感到非常绝望!),但也没有成功

所以我想知道是否需要在环境变量中的JULIA_LOAD_路径中添加一些内容;然而,这似乎有点违背了使用Jupyter笔记本电脑在线版的目的,而Jupyter笔记本电脑的目的大概是让用户在任何地方都能轻松访问


无论如何,我已经没有主意了,所以如果有人能给我一个关于我哪里出错的线索,我将不胜感激。

如果您的模块文件在主文件夹中,请将其添加到加载路径(默认情况下不会添加)。如果将文件放在其他位置,请自定义路径

 @everywhere push!(LOAD_PATH, homedir())
 import MyModule

这个问题与朱利亚博克斯或伊朱利亚无关。这就是导入
模块的方式。您可以将文件夹放入包含模块的文件中

我相信Github上的这个问题解决了您面临的问题:

我确实尝试过在PackageBuilder下以未注册包的形式安装该模块(我感到非常绝望!),但也没有成功

我认为PackageBuilder功能工作正常。只需尝试创建具有以下结构和内容的虚拟模块:

~/MyModule.jl>树
.
├── 要求
└── src
├── 功能
│   └── myfunc.jl
└── MyModule.jl
2个目录,3个文件
~/MyModule.jl>cat要求
朱莉娅0.6
~/MyModule.jl>cat src/functions/myfunc.jl
myfunc(x)=2x
~/MyModule.jl>cat src/MyModule.jl
模块MyModule
导出myfunc
包括(joinpath(“函数”、“myfunc.jl”))
结束
然后,
git init
目录中的存储库,
git add
git commit
所有文件,使用
git remote add
添加远程存储库(如GitHub或GitLab),然后
git将本地存储库推送到新添加的远程存储库。您应该看到unregistered package选项正在按预期工作

剩下的就是打电话了

julia> using MyModule

julia> myfunc(10)
20

编辑。您可以尝试将未注册的软件包添加到JuliaBox中。该存储库承载上述虚拟模块。

将主目录和/或模块子目录添加到加载路径可以解决我的问题。谢谢。我可以注册您的MyModule模块,因此JuliaBox package builder的功能显然可以正常工作。我需要更多地阅读模块/软件包,我对Julia有点初学者。我选择了上一个答案,因为它更直接地回答了我的原始问题,但感谢您的输入。
julia> using MyModule

julia> myfunc(10)
20