如何将包含外部库和文件的Python包编译成.so文件?

如何将包含外部库和文件的Python包编译成.so文件?,python,cython,release,packaging,Python,Cython,Release,Packaging,几天前,我的一个好朋友得到了一个软件的想法,他知道他可以卖给一些他认识的人,然后他问我是否可以开发代码。我这么说了,我们建立了合作关系。 我在windows10上使用python3.8.2和PyCharm 2020.1。到目前为止,我已经准备好了大部分后端代码,并且我组织了如下项目: 计划/ A模块设置程序的最基本功能。B模块设置了更复杂的函数,可以调用A中的一个。后端模块设置了前端将调用的所有函数(比如当用户按下按钮时)。重要的事实是,run函数(程序中最重要的函数)每次都调用一个由Crypt

几天前,我的一个好朋友得到了一个软件的想法,他知道他可以卖给一些他认识的人,然后他问我是否可以开发代码。我这么说了,我们建立了合作关系。
我在
windows10
上使用
python3.8.2
PyCharm 2020.1
。到目前为止,我已经准备好了大部分后端代码,并且我组织了如下项目:

计划/ A模块设置程序的最基本功能。B模块设置了更复杂的函数,可以调用A中的一个。后端模块设置了前端将调用的所有函数(比如当用户按下按钮时)。重要的事实是,run函数(程序中最重要的函数)每次都调用一个由Cryptlex支持的许可证检查器function,因此,如果没有有效的许可证,也无法在不更改python代码本身的情况下运行它

现在问题来了:释放。是否真的需要冻结后端包?用它制作一个.so编译文件

我搜索了很多关于Cython的信息,但没有找到任何关于包含所需图像、声音和文本文件以及在a模块中调用的所需库本身的信息。Setuptools也出现在我的面前,但它似乎并没有编译包,只是更好地组织了它。PyInstaller在这方面也没什么帮助,它甚至建议使用Cython,这就是我的想法

因此,我们来回顾一下这个问题:如果一个Python包包含外部文件和库,有没有办法将它编译成.So文件?如果没有,有什么建议来实现我的目标吗

如果我能做到,我只需将BackendPackage.so包含在frontend.py中,并使用PyInstaller从中生成一个可分发的文件。如果你能帮助我,我将非常感激。另外,我对项目结构不太了解,请告诉我这种组织文件的方式是否低效。巴西的阿布拉索斯


Ps:这些不是文件的真实名称,只是我认为很容易理解的一种方式。

如果你想要的是Python的安全编译二进制文件,你永远也不会得到。至少今天我写这篇文章的时候没有。您可以使用py2exe和类似的冻结应用程序构建一个自包含的可执行文件。还有Python到C编译器。Nuitka就是这样一个项目。如果你想要的是Python的安全编译二进制文件,你永远也不会得到。至少今天我写这篇文章的时候没有。您可以使用py2exe和类似的冻结应用程序构建一个自包含的可执行文件。还有Python到C编译器。Nuitka就是这样一个项目。
venv/  
BackendPackage/  
    __init__.py
    Files/  
        Templates/  
            GroupA/  
                imageA1.png  
                imageA2.png  
            GroupB/  
                imageB1.png  
                imageB2.png  
        some_sound.wav  
        default_configs.json  
    Essentials/  
        __init__.py  
        moduleA.py    # imports all the required libraries for the backend, like Numpy and Os  
        moduleB1.py   # imports moduleA.py  
        moduleB2.py   # imports moduleA.py  
        moduleB3.py   # imports moduleA.py  
        moduleB4.py   # imports moduleA.py  
    backend.py    # imports moduleB1.py, moduleB2.py, moduleB3.py and moduleB4.py  
wx_form.py   (created with WxFormBuilder)  
frontend.py   # imports wxpython and BackendPackage.backend.py  
temporary_image.png   (created, used and overwritten by some functions)  
configs.json   (used to store users preferences. Created as a copy of default_configs.json in the setup)