我有一台服务器,其中用户的主文件夹位于 NTFS 分区中(没有在任何地方安装 Windows)。请注意这一点无法改变。
当我以用户身份(不是 root 身份)登录并启动 Python 2.7 或 Python 3.6 提示符时,我注意到尝试导入模块通常会引发错误:
无法从共享对象映射段
例如,当我尝试import numpy
在 Python 2.7 中运行时,我得到:
原始错误是:/home/jorget/.local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so:无法从共享对象映射段
在 Python 3.6 中尝试同样的事情得到以下结果:
原始错误是:/home/jorget/.local/lib/python3.6/site-packages/numpy/core/_multiarray_umath.cpython-36m-x86_64-linux-gnu.so:无法从共享对象映射段
根据我在网上找到的一些建议,这个问题可能与 NTFS 分区未在安装时授予可执行权限有关(例如,参见这不同但类似的问题),我去检查我是否正在挂载 NTFS 分区,exec
结果确实如此。NTFS 分区的挂载方式如下:
UUID=418F1E3E23E97C93 /media/datadisk/ntfs-3g auto,exec,user,permissions 0 0
因此,它被赋予了可执行权限。但是,我仍然怀疑问题与此有关,因为当我在 root 提示符下(而不仅仅是sudo python
)启动 Python 时,我通常可以加载安装在 root 的 python 文件夹中的模块。
任何帮助都将非常感激。