由于缺少权限,无法导入.so文件:无法从共享库中映射段

时间:2019-06-23 14:14:36

标签: python computer-vision python-import .so

我正在尝试运行一个自定义项目,该项目使用了SiamMask项目的大部分内容。运行代码后,许多导入之一就是这样的:

from . import region

位于__init__.py文件中。它正在尝试导入名为region.cpython-36m-x86_64-linux-gnu.so的.so文件,该文件与__init__.py文件位于同一目录中。

但是,当我运行代码时,出现以下错误:

ImportError: /scratch/[hidden]/project/libs/siamMask/utils/pyvotkit/region.cpython-36m-x86_64-linux-gnu.so: failed to map segment from shared object: Operation not permitted

我很确定此错误是由于以下事实引起的。我正在使用的暂存磁盘安装在GPU服务器上,没有对Python相关内容的直接“执行”权限。 (对此我无能为力)这也是为什么我正在使用的Python虚拟环境位于不同的驱动器上的原因(该系统对与Python相关的所有内容都具有直接执行权限)。

但是,我的问题是,如何以不干扰上述事实的其他方式导入此.so文件?我可以将文件传输到另一个驱动器,然后以某种方式通过该__init__文件从那里导入吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我可以通过以下方式解决此问题:

我将WillPopScope文件移动到了可以执行Python的其他驱动器上。然后,我在region.cpython-36m-x86_64-linux-gnu.so文件中使用了以下代码:

__init__