Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用zipimport发布嵌入式python吗?_Python_Delphi_Freepascal_Embedded Language - Fatal编程技术网

我可以使用zipimport发布嵌入式python吗?

我可以使用zipimport发布嵌入式python吗?,python,delphi,freepascal,embedded-language,Python,Delphi,Freepascal,Embedded Language,目前,我正在我的应用程序中部署一个完整的python发行版(原始的python 2.7 msi)。这是一个用delphi制作的嵌入式web服务器 ,我想知道是否可以在我的应用程序中嵌入必要的python文件,以减少加载文件并避免与多个python版本冲突 我以前有过使用python的经验,所以我只需要知道是否只将python dll+zip与发行版+自己的脚本一起提供就可以了(如果存在任何我必须知道的警告或我可以查看的示例)zipimport应该适合您——我不熟悉python for Delph

目前,我正在我的应用程序中部署一个完整的python发行版(原始的python 2.7 msi)。这是一个用delphi制作的嵌入式web服务器

,我想知道是否可以在我的应用程序中嵌入必要的python文件,以减少加载文件并避免与多个python版本冲突


我以前有过使用python的经验,所以我只需要知道是否只将python dll+zip与发行版+自己的脚本一起提供就可以了(如果存在任何我必须知道的警告或我可以查看的示例)

zipimport
应该适合您——我不熟悉python for Delphi,但我怀疑它会禁用该功能(嵌入应用程序可以做到这一点,但这是一个不寻常的选择)。请记住,可以直接压缩和导入的是Python编码的模块(或它们对应的
.pyc
.pyo
字节码)——DLL(即使重命名为
.pyd
s;-)需要在磁盘上加载(因此,如果您随身携带zipfile,则需要在应用程序开始时将其解压缩,例如解压缩到临时目录中)

此外,您甚至不需要压缩所有模块,只需要那些您实际需要的模块(通过传递闭包)--使用标准Python库的模块,您可以很容易地找到这些模块的确切位置。我刚才提到的文档页面上的示例应该可以澄清问题。祝您压缩愉快!

是的,这是可能的

实际上,我正在使用
Zipimport库
用Python编写自动化脚本。我在
zip
中包含了所有
.py
文件以及这些脚本所需的配置或xml文件

然后,我调用一个
.command
文件,目标是一个
\uuuuu main\uuuuu.py
类,该类根据我的
sys.argv
参数重定向到所需的脚本,这非常有用