我目前正在开发一个用C ++编写的应用程序。出于脚本目的,我使用Python 3.2,这很好 - 在我的开发人员机器上安装了Python并且所有的DLL都在正确的位置。
在使用优秀的py2exe之前,我部署了“纯”Python应用程序(即没有本机代码),但我没有第一个线索如何使用嵌入式Python进行部署。
根据我的直觉,我认为必须使用以下组件:
最后一点是困扰我的:如何部署 ?这是几千个文件,我真的不想复制它。 Py2exe将它打包成一个zip文件,我想我也可以在我的情况下做类似的事情吗? 而且,更重要的是:如何在运行时告诉Python解释器他找到了库?
答案 0 :(得分:3)
从我记得你需要捆绑的内容取决于你的python脚本调用或使用的内容。如果你真的只使用核心解释器,我认为你只需要捆绑dll。
话虽如此,通过禁用已安装的python的任何路径并将你的应用程序和python dll和lib放入同一个测试文件夹,在开发盒上测试它应该不会太难。
答案 1 :(得分:2)
这已在Python 3.5版本中得到解决,该版本提供了用于集成的最小程序包。
https://docs.python.org/3.5/using/windows.html#embedded-distribution
嵌入式发行版是一个包含最小Python的ZIP文件 环境。它旨在作为另一个应用程序的一部分, 而不是被最终用户直接访问。
有关如何将Python实际嵌入应用程序(链接python3.dll)的一些指示,请参见https://docs.python.org/3/faq/windows.html#how-can-i-embed-python-into-a-windows-application
答案 2 :(得分:0)
此site应该会为您提供指导。你基本上做的是将python脚本编译为.exe而不是让python每次都解释.py文件。它也会快得多。