我有一个共享库文件是更大程序的一部分。我似乎在所有共享库中都遇到了很多这样的错误,所以我认为我已经将我的问题缩小到与之相关的范围。
我有一个名为libMdsdcl.so的文件。仅出于测试目的,我将它自己放在一个文件夹中并运行以下行来重复错误:
+---+---+---+---+---+---+------------+------------+
|a1 |b1 |a2 |b2 |a3 |b3 |computation1|computation2|
+---+---+---+---+---+---+------------+------------+
|-1 |F |-4 |C |-8 |A |-5 |FCA |
|-4 |C |-8 |A |-11|G |-12 |CAG |
|-8 |A |-11|G |-18|Z |-19 |AGZ |
+---+---+---+---+---+---+------------+------------+
这不是我的代码,而是代码的一部分,似乎适用于安装它的每个人。基于其他类似的问题,我检查了我的python安装和文件的架构,它们都是64位。我的libreadline有什么问题吗?我实际上刚刚在此之前升级到Ubuntu 18.04。
作为参考,这是MDSplus的一个小小的机会,有人看到它熟悉它。
答案 0 :(得分:0)
您没有展示如何填充name
:
libname = c.CDLL(name)
您可能需要确保从正确的目录开始。 os.path.dirname(__file__)
将为您提供正确的目录。
但通常在这种情况下我会看到类似的东西:
libname = cdll.LoadLibrary(os.path.abspath("libreadline.so.6"))
我认为问题是你的路径,因为你没有给出共享对象的实际扩展。尝试:
name = "libMdsdcl.so" # or whatever it is called
根据所显示的有限信息,我无法确定一些想法。