为--onedir选项最小化pyinstaller文件

时间:2019-03-05 08:48:25

标签: python-3.x dll pyinstaller pyd

我一直在使用pyinstaller将代码“传播”到未安装python 3.x的计算机中,都在同一网络中。这是一个很棒的软件,但是即使阅读了非常详尽的文档,我仍在努力简化用于此目的的.exe的创建。

理想情况下,我只想将.exe文件转发给用户(来自--onedir选项,而不是--onefile,因为它会很大)。我设法创建了一个运行时挂钩来搜索网络中的dll:

ctypes.windll.kernel32.SetDllDirectoryW('W:\\Python\\dll')

,除了:VCRUNTIME140.dll,python37.dll和pywintypes37.dll。这非常方便,并且已经节省了大量空间。不过,我还没有设法使.pyd文件或文件夹相同。 我曾尝试在运行时将PATH设置为指向外部网络文件夹,但这也不起作用:

sys.path.append('W:\\Python\\pyd')

我考虑的另一个选项是将所有.pyd文件放入一个zip文件夹(例如base_library.zip)中并为其创建PATH。也没用。

我确定我只是缺少一些简单(或复杂?)的东西。也许浏览pyinstaller源代码以更改那里的文件夹,但是我试图通过一些关键字搜索它,但无济于事。

我想强调一点,我不是在试图将文件整理到“ dist”文件夹中的nice文件夹中,而是在网络中搜索文件(它可能是机器中其他位置先前预先安装的文件夹)我在python中创建的所有不同程序都可以共享)。

有人有经验,可以指出正确的方向吗?

0 个答案:

没有答案