julia - 如何运行 Julia 项目?
问题描述
Julia 还没有进入我的驾驶室,但我已经接到了一个 Julia 项目来运行其中的代码。这由一个包含 a main.jl
、 aProject.toml
和 a的目录组成Manifest.toml
。
我已经阅读了一些关于 TOML 文件的用途;总结一下我目前的理解,它们形成了一个项目或环境(不确定是哪个,或者真正的区别是什么)。
我通过下载 tar、解压缩并放置在我的路径中,在命令行安装了 Julia v1.3.1。julia
在命令行键入会按预期打开 Julia CLI REPL。
我试图通过 using 运行代码julia main.jl
,这导致抱怨所需的包不存在,例如:
julia main.jl
ERROR: LoadError: ArgumentError: Package JSON not found in current path:
- Run `import Pkg; Pkg.add("JSON")` to install the JSON package.
Stacktrace:
[1] require(::Module, ::Symbol) at ./loading.jl:887
[2] include at ./boot.jl:328 [inlined]
[3] include_relative(::Module, ::String) at ./loading.jl:1105
[4] include(::Module, ::String) at ./Base.jl:31
[5] exec_options(::Base.JLOptions) at ./client.jl:287
[6] _start() at ./client.jl:460
in expression starting at /home/<user>/myproject/main.jl:3
我可以按照此处的说明加载所需的包,但我肯定不应该为每个包手动执行此操作吗?由于所需的每个包都列在了Project.toml
我想应该有某种方法告诉 Julia 以确保项目中的包可用(我在想一些与 Python 的需求文件类似的东西)。
我已经尝试过julia --project=main.jl
,但这只会导致 REPL 再次加载而没有任何反应(不确定是否加载了任何项目或环境)。
如何在记录 TOML 文件中的要求和其他信息的同时告诉 Julia 在此项目中运行脚本?
更新:
已经想办法进入]
REPL 进入pkg
包管理器。然后我可以:
(v1.3) pkg> activate .
Activating environment at `~/myproject/Project.toml`
(myproject) pkg> instantiate
(myproject) pkg>
然后按退格键离开经理。仍然不确定如何“运行”所有内容。
解决方案
您非常接近解决方案!如果文件都在一个目录中,dir
那么命令将是
julia --project=dir main.jl
您还可以在该环境中启动交互式会话,然后通过以下方式运行文件中的代码
julia --project=dir
julia> include(“main.jl”)
编辑:如果目录是当前工作目录,那么你可以使用--project=.
推荐阅读
- python - Discord 机器人代码不起作用(python)。我该如何解决?
- reactjs - 基于作为字符串 prop 传递的元素名称动态使用导入的元素
- node.js - 使用 Axios 将表单数据从前端发送到后端
- javascript - 如何根据同时更新的另一个对象更新一个对象的属性 - zustand?
- wordpress - 有没有办法在单击单选按钮时显示弹出窗口?
- java - 带有@ConditionalOnClass的Spring引导@Configuration不起作用
- java - 使用Java创建和访问redis数据库
- function - DB2 for i:非 UDF 宏函数?(用户定义函数很慢,但是复杂的公式很复杂)
- jenkins - Jenkins:为 Linux Master 设置 Windows 工作节点
- python - 如何连接两个 Pyspark 数据框的不同元素