尝试从script或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,))
- joblib已安装并通过pip强制重新安装
- 以超级用户导入工作
- 我设置了作业文件夹
chmod -R 777 /usr/local/lib/python2.7/dist-packages/joblib
的完全权限;无效:权限错误仍然
因此,即使每个用户和组对joblib目录具有完全的rwx权限,它也会给我一个权限错误。如何确定导入时写权限检查的是哪个目录joblib ?为什么在我指定写操作之前还要进行检查呢?
通过在joblib源代码中查找a找到:
问题是信号在我的系统上没有启用:Joblib检查multiprocessing.Semaphore(),结果是只有root对/dev/shm的共享内存有读写权限通过在/etc/fstab中添加以下内容永久性地设置正确的权限(即使在重新启动后)来修复它:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
,然后重新挂载mount /dev/shm -o remount