scikit-learn joblib:导入权限错误,在Serial模式下运行



尝试从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

最新更新