[英]scikit-learn joblib: Permission error importing, run in Serial mode
当我尝试从脚本或python -c 'import joblib'
导入joblib时发生以下权限错误:
/usr/local/lib/python2.7/dist-packages/joblib//joblib_multiprocessing_helpers.py:29: UserWarning: [Errno 13] Permission denied. joblib will operate in serial mode
warnings.warn('%s. joblib will operate in serial mode' % (e,))
chmod -R 777 /usr/local/lib/python2.7/dist-packages/joblib
上设置了完全权限; 无济于事:许可错误仍然存在 因此,即使每个用户和组在joblib目录上都具有完整的rwx权限,它也会给我一个权限错误。 如何确定joblib在导入时执行写入权限检查的目录? 为什么在我指定写操作之前它甚至会进行检查?
通过查看joblib源代码找到它:
问题是我的系统上没有启用信号量:Joblib检查多处理.Semaphore(),结果证明只有root对/ dev / shm中的共享内存有读/写权限。 通过在/ etc / fstab中添加以下内容,永久设置正确的权限(即使重启后),修复了此问题 :
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
然后重新挂载mount /dev/shm -o remount
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.