You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SLURM集群运行Julia报错:ITensors包未找到问题求助

解决SLURM集群上Julia项目包依赖问题

核心问题分析

你遇到的问题根源是没正确激活当前目录的项目环境:Pkg.instantiate()默认操作的是Julia全局环境,而非你本地Project.toml/Manifest.toml对应的项目环境,导致运行脚本时找不到ITensors这类项目依赖包。

具体修复方案

方案1:修改job.sh统一指定项目环境

直接在所有Julia命令前添加--project=.参数,强制使用当前目录的项目环境,确保安装依赖和运行脚本的环境一致:

#!/bin/bash

#SBATCH --job-name=RunDMRG
#SBATCH --nodes=4
#SBATCH --oversubscribe
#SBATCH --time=08:00:00
#SBATCH --output=output_%j.txt
#SBATCH --error=error_%j.txt
#SBATCH --account=myname

module load julia

# 激活本地项目环境并安装依赖
julia --project=. -e 'import Pkg; Pkg.instantiate()'

# 激活本地项目环境运行脚本
julia --project=. main.jl 256 100

方案2:在main.jl开头激活环境

如果不想修改job.sh,就在main.jl最顶部添加环境激活代码(必须放在using语句之前):

# 先激活本地项目环境并安装依赖
using Pkg
Pkg.activate(".")
Pkg.instantiate()

# 再加载所需包
using ITensors
using Plots
using Printf
using Statistics
using LaTeXStrings
using CSV

include("run-experiments.jl")

disorder = [10.0^i for i in -4:1]
nsites = parse(Int, ARGS[1]) 
nrealizations = parse(Int, ARGS[2]) 
print("Starting...")

main(nsites, nrealizations, disorder)

额外排查要点

  • 检查Project.toml是否包含ITensors:打开文件确认有类似ITensors = "版本号"的条目,如果没有,先在集群登录节点运行julia --project=. -e 'Pkg.add("ITensors")'添加依赖,再提交任务。
  • 确认Julia版本兼容:如果Project.toml里有compat字段指定Julia版本(比如julia = "1.8"),要确保module load julia加载的是对应版本,版本不匹配可能导致依赖安装失败。

内容的提问来源于stack exchange,提问作者quics-ilver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:52:17