我一直在使用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中创建的所有不同程序都可以共享)。
有人有经验,可以指出正确的方向吗?