1

我正在编译一个包python -m nuitka --module some_package --include-package=some_package

它产生一个some_package.so. 使用此文件的正确方法是什么?

Python 本身可以导入 so 文件。

我可以导入 some_package 本身,但我根本无法导入任何子模块。如果 I dir(some_package),则没有可用的方法或模块。

我该怎么办?

4

2 回答 2

1

如果您使用过--module,您可能应该这样做:

import some_package

使用 ctypes 的另一种方法:

import ctypes
my_package = ctypes.cdll.LoadLibrary('./some_package.so')
于 2019-05-01T08:11:18.743 回答
0

可能为时已晚,但也许这会对其他人有所帮助:

为了让 Python 能够理解包结构,您需要__init__.py从编译中排除文件。之后您应该能够导入任何子模块。

于 2020-02-06T10:41:44.707 回答