scikit-learn joblib:导入权限错误,串行模式下 运行
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,))
- joblib 已安装并通过 pip 强制重新安装
- 以超级用户身份导入作品
- 我对 joblib 文件夹设置了完全权限
chmod -R 777 /usr/local/lib/python2.7/dist-packages/joblib
;无济于事:权限错误仍然存在
因此,即使每个用户和组都对 joblib 目录具有完整的 rwx 权限,它也会给我一个权限错误。如何确定导入时在哪个目录 joblib 上进行写权限检查?为什么它甚至在我指定写操作之前就进行检查?
在joblib源码中找了一个:
问题是我的系统没有启用信号量:Joblib 检查 multiprocessing.Semaphore() 结果发现只有 root 对 /dev/shm 中的共享内存有 read/write 权限.根据 this answer 通过将以下内容添加到您的 /etc/fstab 中永久设置正确的权限(即使在重新启动后)来修复它:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
然后重新挂载 mount /dev/shm -o remount
当我尝试从脚本或 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 强制重新安装
- 以超级用户身份导入作品
- 我对 joblib 文件夹设置了完全权限
chmod -R 777 /usr/local/lib/python2.7/dist-packages/joblib
;无济于事:权限错误仍然存在
因此,即使每个用户和组都对 joblib 目录具有完整的 rwx 权限,它也会给我一个权限错误。如何确定导入时在哪个目录 joblib 上进行写权限检查?为什么它甚至在我指定写操作之前就进行检查?
在joblib源码中找了一个:
问题是我的系统没有启用信号量:Joblib 检查 multiprocessing.Semaphore() 结果发现只有 root 对 /dev/shm 中的共享内存有 read/write 权限.根据 this answer 通过将以下内容添加到您的 /etc/fstab 中永久设置正确的权限(即使在重新启动后)来修复它:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
然后重新挂载 mount /dev/shm -o remount