Win10+Ubuntu+Jupyter运行Disco Diffusion如何修改文件权限
问题根因
报错PermissionError: [Errno 13] Permission denied: './init_images'、Jupyter显示文件只读,都是WSL(Ubuntu)环境下文件权限不匹配导致的。如果你是在Windows文件资源管理器中解压项目包、直接访问挂载的Ubuntu目录存放项目,会因为Windows和Linux的权限体系不兼容出现这类问题——Windows侧没有修改WSL内部文件权限的入口,所以右键菜单找不到权限编辑选项。
操作步骤
- 第一步:将项目压缩包转移到WSL用户主目录
打开Ubuntu终端,执行命令进入用户主目录:cd ~
如果你下载的项目压缩包存放在Windows的下载文件夹,对应WSL内的路径格式为/mnt/c/Users/你的Windows用户名/Downloads/压缩包文件名.zip,执行复制命令把压缩包拷贝到WSL主目录:cp /mnt/c/Users/你的Windows用户名/Downloads/Disco_Diffusion_Local-main.zip ~/ - 第二步:在WSL环境内解压项目包
执行解压命令:unzip Disco_Diffusion_Local-main.zip
解压完成后进入项目根目录:cd Disco_Diffusion_Local-main - 第三步:修复项目目录权限
执行命令将整个项目目录的所有权分配给当前WSL用户,获得完整读写权限:sudo chown -R $USER:$USER ~/Disco_Diffusion_Local-main - 第四步:重启Jupyter服务
先执行命令关闭所有正在运行的Jupyter进程:pkill jupyter
确认当前终端路径是WSL内部的项目目录(不是/mnt/开头的Windows挂载路径),再执行启动命令:jupyter notebook
重新打开对应的.ipynb文件,原有的只读标记会消失,创建目录的代码可以正常执行。
注意事项
- 禁止在Windows文件资源管理器中直接对WSL目录下的文件做解压、编辑、移动操作,这类跨系统操作会破坏Linux文件权限配置,后续所有文件操作尽量在WSL终端或Jupyter内完成。
- 如果重新启动后仍有权限报错,可以执行命令给项目目录开放读写执行权限:
再重启Jupyter即可。sudo chmod -R 755 ~/Disco_Diffusion_Local-main
内容的提问来源于stack exchange,提问作者bk977113
相关产品推荐
相关产品推荐

