如何将本地项目添加到 Julia 中的导入路径?



>我希望能够importusing我正在编写的包,该目录~/projects/ExamplePkg来自我的主Julia REPL/来自另一个项目或环境。

>]foo我的意思是"在 Julia Pkg REPL 中使用 foo 命令"。在 Julia REPL 中输入]以输入 Pkg REPL。 使用]help <command name>了解更多信息或查看下面的链接。

确保你的包有一个 Project.toml,它给它一个 UUID 并命名它(使用 Julia REPL 或 PkgTemplates 包的]generate生成一个(,并且它位于 git 存储库中,至少有一个提交,包括所有相关文件。

然后选择您希望如何使用该软件包。

您可能想运行]dev ~/projects/ExamplePkg

如果在本地路径上使用dev,则会在加载该包时记录并使用该包的路径。路径将相对于项目文件进行记录,除非它作为绝对路径给出。

如果使用dev并更改dev包中的依赖项,则可能应该在依赖于该包的所有环境中运行]resolve

或者你可以运行]add ~/projects/ExamplePkg

与其给add一个 git 存储库的 URL,不如提供一个 git 存储库的本地路径。这类似于添加 URL。将跟踪本地存储库(在某个分支(,并在更新包时从该本地存储库中提取更新。请注意,加载本地包存储库中的文件更改不会立即反映。必须提交更改并更新包才能拉入更改。

在 Julia 版本 <1.4 中:如果您在正确设置 git 存储库之前不小心]add了一个包,那么您可能会得到ERROR: GitError(Code:EUNBORNBRANCH, Class:Reference, reference 'refs/heads/master' not found)。不幸的是,Julia 可能已经缓存了错误的存储库,您需要将其从~/.julia/clones/<gibberish>/中删除。您可以使用 grep 找到要删除的目录:$ grep ExamplePkg ~/.julia/clones/*/config

文档:https://julialang.github.io/Pkg.jl/v1/managing-packages/

你可以试试

path_to_package = "~/projects/ExamplePkg"
push!(LOAD_PATH,path_to_package)
# then use it, ExamplePkg is the package's name
using ExamplePkg 

但是,每当重新启动Julia时,您都必须运行上面的代码。

参考是工作流提示-朱莉娅文档

最新更新