我正在尝试运行一个自定义项目,该项目使用了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__
文件从那里导入吗?
提前谢谢!
答案 0 :(得分:0)
我可以通过以下方式解决此问题:
我将WillPopScope
文件移动到了可以执行Python的其他驱动器上。然后,我在region.cpython-36m-x86_64-linux-gnu.so
文件中使用了以下代码:
__init__