【问题标题】:How do you use nuitka shared object files?你如何使用 nuitka 共享对象文件?
【发布时间】:2019-02-21 04:35:48
【问题描述】:

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

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

Python 可以自己导入 so 文件。

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

我该怎么办?

【问题讨论】:

    标签: python shared-libraries nuitka


    【解决方案1】:

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

    import some_package
    

    使用 ctypes 的另一种方法:

    import ctypes
    my_package = ctypes.cdll.LoadLibrary('./some_package.so')
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-13
        • 2012-11-16
        • 2015-07-20
        • 2020-02-07
        • 1970-01-01
        • 2018-03-16
        • 2018-07-04
        相关资源
        最近更新 更多