如何解决GCP Debian深度学习VM中权限拒绝[Errno 13]问题?
解决GCP Debian虚拟机中HuggingFaceEmbeddings权限错误问题
在GCP Debian深度学习虚拟机的Miniconda环境中运行以下代码时:
embed_model = HuggingFaceEmbeddings( model_name=embed_model_id, model_kwargs={'device': device}, encode_kwargs={'device': device, 'batch_size': 32} )
触发权限错误:
permission denied [Errno 13] Permission denied: '/root/google_vm_config.lock'
解决方法
切换非root用户运行代码
GCP深度学习虚拟机默认会创建非root用户(如jupyter或自定义用户),不要用root身份运行Miniconda和代码。切换到对应用户后激活conda环境再执行,避免直接操作root目录。指定自定义模型缓存路径
HuggingFace模型默认缓存路径可能涉及root目录,可手动指定当前用户有权限的缓存路径:embed_model = HuggingFaceEmbeddings( model_name=embed_model_id, model_kwargs={'device': device}, encode_kwargs={'device': device, 'batch_size': 32}, cache_folder='/home/your_username/huggingface_cache' # 替换为你的用户目录路径 )先确保目录存在且有权限:
mkdir -p /home/your_username/huggingface_cache chmod 755 /home/your_username/huggingface_cache调整锁文件权限(仅root环境下可选)
若必须用root环境,可修改锁文件权限:sudo chmod 666 /root/google_vm_config.lock或直接删除冗余锁文件:
sudo rm /root/google_vm_config.lock
内容的提问来源于stack exchange,提问作者Samuel Tosan Ayo
相关产品推荐
相关产品推荐

