求助:如何解决PolicyError权限不足问题?(Colab环境)
解决ImageMagick的PolicyError权限问题
问题详情
在Colab中运行代码时触发权限错误:
PolicyError: not authorized `out/cancer_1/simOutput/growthCurve.pdf' @ error/constitute.c/ReadImage/412
已尝试的无效操作
曾尝试修改ImageMagick策略文件但未解决问题,代码如下:
from pathlib import Path policy_path = Path("/etc/ImageMagick-6/policy.xml") orig_policy = policy_path.read_text() new_policy = orig_policy.replace('', '') policy_path.write_text(new_policy)
正确修复步骤
这个错误是因为ImageMagick默认限制了PDF文件的读取权限,修改策略配置即可解决:
- 方法一:将PDF权限改为可读可写
!sudo sed -i 's/<policy domain="coder" rights="none" pattern="PDF" />/<policy domain="coder" rights="read|write" pattern="PDF" />/' /etc/ImageMagick-6/policy.xml - 方法二:直接删除PDF权限限制规则
!sudo sed -i '/policy.*domain="coder".*pattern="PDF"/d' /etc/ImageMagick-6/policy.xml
内容的提问来源于stack exchange,提问作者Ifra
相关产品推荐
相关产品推荐

