2

当我尝试从脚本或导入 joblib 时出现以下权限错误python -c 'import 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 强制重新安装
  • 以超级用户身份导入
  • 我对 joblib 文件夹设置了完全权限chmod -R 777 /usr/local/lib/python2.7/dist-packages/joblib;无济于事:权限错误仍然存​​在

因此,即使每个用户和组都对 joblib 目录拥有完整的 rwx 权限,它也会给我一个权限错误。如何确定在导入时对哪个目录 joblib 进行写权限检查?为什么它甚至在我指定写操作之前进行检查?

4

1 回答 1

4

通过查看 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

于 2016-08-25T14:07:34.433 回答