5

我目前正在开发一个用 C++ 编写的应用程序。出于编写脚本的目的,我使用 Python 3.2,这很好——在我的开发人员机器上安装了 Python,并且所有 DLL 都在正确的位置。

在使用出色的 py2exe 之前,我部署了“纯”Python 应用程序(即没有本机代码),但我不知道如何使用嵌入式 Python 部署它。

从我的直觉来看,我认为以下组件是必要的:

  • Python3.dll & Python32.dll
  • Python 的“DLLs”目录中的 .pyd 文件
  • Python 库

最后一点是困扰我的问题:我该如何部署?那是几千个文件,我真的不想复制它。Py2exe 将其打包成一个 zip 文件,我想我也可以这样做吗?而且,更重要的是:我如何在运行时告诉 Python 解释器他在哪里找到库?

4

3 回答 3

3

据我所知,您需要捆绑的内容取决于您的 python 脚本调用或使用的内容。如果你真的只使用核心解释器,我认为你只需要捆绑 dll。

话虽如此,通过禁用已安装 python 的任何路径并将您的应用程序和 python dll 和库放入同一个测试文件夹中,在您的开发盒上测试它应该不会太难。

于 2012-05-31T18:18:50.110 回答
3

这已在 Python 3.5 版本中得到解决,该版本提供了一个用于集成的最小包。

https://docs.python.org/3.5/using/windows.html#embedded-distribution

嵌入式分发是一个包含最小 Python 环境的 ZIP 文件。它旨在充当另一个应用程序的一部分,而不是由最终用户直接访问。

在https://docs.python.org/3/faq/windows.html#how-can-i-embed-python-中给出了一些关于如何将 Python 实际嵌入应用程序(链接 python3.dll)的指示。进入 Windows 应用程序

于 2016-01-27T12:21:01.850 回答
0

这个网站应该很好地指导你。您基本上所做的是将python脚本编译为.exe,而不是让python每次都解释.py文件。它也会快得多。

于 2012-05-31T16:47:52.020 回答