管理自定义包和项目

时间:2020-09-07 13:20:43

标签: julia

我是Julia的新手。

我正在寻求构建目录,包和项目的最佳实践。

与Python相比,Julia中最烦人的部分如下:

  1. 路径例如include似乎取决于执行文件的路径。我想保留一个特定的参考路径,以便可以轻松加载一些文件。
  2. 我曾问过类似的问题here,有人告诉我创建软件包并使用using将很容易管理我的项目。 但是,加载文件和模块时确实令人困惑。例如,
MyProject
├── MyPkg1
│   ├── src
│   │   └── MyPkg1.jl
│   └── test
│       └── runtests.jl
└── MyPkg2
    ├── src
    │   └── MyPkg1.jl
    └── test
        └── runtests.jl

6 directories, 4 files

a)MyPkg1/src/MyPkg1.jl

module MyPkg1

export func_export

function func_export
    println("hi")
end

end

b)MyPkg1/test/runtests.jl

using MyPkg1
using Test

@testset "MyPkg1.jl" begin
    func_export()  # raise error: func_export not defined
end

c)MyPkg2/test/runtests.jl

using MyPkg2
using Test
using MyPkg1  # other Pkg

@testset "MyPkg2.jl" begin
    func_export()  # raise error
end

如上述代码所示,会引发一些错误(请参阅b),c))。

所以我的问题是...

  1. 如果在上述示例中我做错了什么,请详细解释为什么会发生错误。
  2. 从目录结构的角度来看,开发Julia项目的最佳实践是什么?

0 个答案:

没有答案