嵌入式发行版是一个包含最小Python的ZIP文件 环境。
听起来很棒! 64位Windows嵌入式v3.6.5的Python只有13MB。作为编译的替代方案,我想将一些python脚本压缩在一起,并在没有安装Python的Win10机器上运行它们。
现在,我几乎总是需要导入其他包来提供功能。但是,如果我想与Python的嵌入式版本一起发送python脚本,我无法确定如何执行此操作。例如,如果我的脚本使用numpy,我怎么能在这个“嵌入”中包含该库?即,在任何Win10机器上,我都可以解压缩单个部署文件并立即执行我的脚本?
(常规pip install numpy
似乎创建了一个超过50MB的Lib子目录!但对于“嵌入式”部署,我不需要任何支持调试或大量文件中包含的任何其他内容。)< / p>
答案 0 :(得分:3)
有一种方法可以扩展Python嵌入式安装。 我设法创建了Flask-ready包,可以在目标计算机上解压缩并运行代码。 诀窍是安装 EXACT 相同 python版本(正常的完整python)作为目标嵌入式小python。不仅是x86版本,而且x86也必须匹配。
然后在普通python上通过pip安装模块,请转到 NormalPython \ Lib \ site-packages ,然后将安装后出现的所有新文件复制到 EmbeddedPython \ Lib 最后将 Lib 添加到Embedded python文件夹中的 pythonXX._pth 。
全面测试您的应用程序非常重要,以防您错过某些软件包。 同样,这对于将.exe也添加到Scripts文件夹的程序包均无效。 您仍然可以将exe复制到Script文件夹,然后将其添加到可以解决问题的路径。
答案 1 :(得分:0)
有一种方法可以扩展Python嵌入式安装。诀窍是安装与目标嵌入式python(我称为EmbeddedPython)相同的python版本(我将其称为NormalPython)。版本和体系结构必须完全匹配。
然后在NormalPython上通过pip安装模块。您可以在NormalPython \ Scripts上找到pip。
转到NormalPython \ Lib \ site-packages,然后将要通过pip安装的所有文件复制后出现的所有文件复制到EmbeddedPython \ Lib \
然后将Lib添加到Embedded python文件夹中的pythonXX._pth。
在通过https://www.python.org/downloads/windows/下载了最新的python embed和python安装之后,这在Windows 10上对我有用。 我用Michal Rawluk的答案来做,但是有点难以理解,所以我试图用不同的方式解释它。