中文用户名及路径导致Julia/Pluto运行异常的解决求助
问题背景
本人是中国大学生,正在学习Julia编程语言。由于C盘路径包含中文用户名,Pluto默认被下载至C盘,而Julia安装在无中文路径的D盘。后续使用Pluto Notebook执行如打开图片等简单操作均失败。尝试修改startup.jl文件,添加配置ENV["JULIA_DEPOT_PATH"] = "D:\Julia",并删除C盘中的.julia文件夹,但问题仍未解决。希望彻底阻止Julia继续使用C盘路径。
报错信息
Errors encountered while load FileIO.File{FileIO.DataFormat{:PNG}, String}("C:\Users\李峥嵘\AppData\Local\Temp\jl_0XyfYPcT2j").
All errors:Failed to open C:\Users\李峥嵘\AppData\Local\Temp\jl_0XyfYPcT2jArgumentError: Package ImageMagick [6218d12a-5da1-5696-b52f-db25d2ecc6d1] is required but does not seem to be installed:
- Run
Pkg.instantiate()to install all recorded dependencies.===========================================
ArgumentError: Package OpenCV [f878e3a2-a245-4720-8660-60795d644f2a] is required but does not seem to be installed:
- Run
Pkg.instantiate()to install all recorded dependencies.===========================================
Fatal error
解决步骤
1. 系统级配置JULIA_DEPOT_PATH环境变量
仅修改startup.jl可能无法覆盖所有启动场景,需直接设置系统环境变量:
- 按下Win+R,输入
sysdm.cpl打开系统属性窗口,切换到「高级」标签页,点击「环境变量」 - 在「用户变量」区域点击「新建」,输入:
- 变量名:
JULIA_DEPOT_PATH - 变量值:
D:\Julia(确保该文件夹已创建,路径无中文、空格)
- 变量名:
- 保存后重启所有Julia、Pluto相关进程(包括终端、浏览器)
2. 修改临时文件路径
报错中的临时文件位于中文用户名的Temp目录,需指定Julia使用无中文的临时文件夹:
- 方法一:修改
startup.jl文件(位于D:\Julia\config目录,若不存在则新建),添加:ENV["TMPDIR"] = "D:\\Julia\\temp" # 先手动创建这个空文件夹 - 方法二:在系统环境变量中新建
TMPDIR变量,值为D:\Julia\temp,优先级高于startup.jl配置
3. 重新安装依赖包
Depot路径变更后,原有的包缓存失效,需重新安装所需依赖:
- 打开Julia REPL,执行以下代码:
using Pkg Pkg.add(["ImageMagick", "OpenCV"]) Pkg.instantiate()
4. 手动指定Pluto安装路径
确保Pluto安装到D盘的Depot目录:
- 在Julia REPL中执行:
using Pkg Pkg.add("Pluto"; depot="D:\\Julia") - 启动Pluto时,确认使用指定的Depot路径:
ENV["JULIA_DEPOT_PATH"] = "D:\\Julia" using Pluto Pluto.run()
验证配置
启动Pluto后,在Notebook中执行以下代码,检查路径是否正确:
println("当前Depot路径: ", ENV["JULIA_DEPOT_PATH"]) println("当前临时文件路径: ", ENV["TMPDIR"])
输出应显示D盘的无中文路径,说明配置生效。
内容的提问来源于stack exchange,提问作者lildayuan

