从 Python 脚本创建可执行文件,同时获取较小的输出大小
Creating executable from Python script while acquiring small output size
我的问题可能已经在某个地方得到了回答,但我仍然找不到直接的答案。
我想从 python 代码创建一个独立的可执行文件。我已经尝试了很多解决方案,例如 py2exe
、pyinstaller
等。但我的问题是输出文件太大。例如,在 pyinstaller
中,一个简单的 hello world 编译为 5MB 文件。经过大量搜索后,我发现 Cython
从 python 代码创建了一个 c 文件,然后我尝试用 MSVC 2015
编译它并生成了 exe 文件,但它取决于 python3x.dll
文件。
那么有什么方法可以将python代码编译成小尺寸的独立exe文件吗?
如果不是,如何将可执行文件与msvc
捆绑在一起?
我正在使用 python3.4,但是 python2 和 3 在这种方式下有什么区别吗?
我正在使用这些命令首先生成 c 文件然后将其编译为 exe:
python -m cython test.py --embed
cl /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python34\include -Ic:\Python34\PC /Tctest.c /link /OUT:"test.exe" /SUBSYSTEM:CONSOLE /MACHINE:X64 /LIBPATH:c:\Python34\libs /LIBPATH:c:\Python34\PCbuild
据我所知,可执行文件的大小相对较大导致 pyinstaller 链接到一个库的 ALL 依赖项。因此,如果您使用大型图书馆,例如使用 Matplotlib,您将获得大小约为 150MB 的可执行文件。
至少这是我使用 pyinstaller 大约两个月后的观点。我还没有尝试过的一件事是使用 "exclude" 选项。我在某处读到,如果排除特定模块,可以减小文件的大小。不幸的是,我再也找不到阅读它的来源了。
编辑:
我知道这已经有一段时间了,但我设法通过排除一些文件来减小可执行文件的大小。这样我就能够将大小为 208MB 的可执行文件减少到 70.3MB。我只是按照这里的例子
Python: Excluding Modules Pyinstaller
我的问题可能已经在某个地方得到了回答,但我仍然找不到直接的答案。
我想从 python 代码创建一个独立的可执行文件。我已经尝试了很多解决方案,例如 py2exe
、pyinstaller
等。但我的问题是输出文件太大。例如,在 pyinstaller
中,一个简单的 hello world 编译为 5MB 文件。经过大量搜索后,我发现 Cython
从 python 代码创建了一个 c 文件,然后我尝试用 MSVC 2015
编译它并生成了 exe 文件,但它取决于 python3x.dll
文件。
那么有什么方法可以将python代码编译成小尺寸的独立exe文件吗?
如果不是,如何将可执行文件与msvc
捆绑在一起?
我正在使用 python3.4,但是 python2 和 3 在这种方式下有什么区别吗? 我正在使用这些命令首先生成 c 文件然后将其编译为 exe:
python -m cython test.py --embed
cl /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python34\include -Ic:\Python34\PC /Tctest.c /link /OUT:"test.exe" /SUBSYSTEM:CONSOLE /MACHINE:X64 /LIBPATH:c:\Python34\libs /LIBPATH:c:\Python34\PCbuild
据我所知,可执行文件的大小相对较大导致 pyinstaller 链接到一个库的 ALL 依赖项。因此,如果您使用大型图书馆,例如使用 Matplotlib,您将获得大小约为 150MB 的可执行文件。 至少这是我使用 pyinstaller 大约两个月后的观点。我还没有尝试过的一件事是使用 "exclude" 选项。我在某处读到,如果排除特定模块,可以减小文件的大小。不幸的是,我再也找不到阅读它的来源了。
编辑:
我知道这已经有一段时间了,但我设法通过排除一些文件来减小可执行文件的大小。这样我就能够将大小为 208MB 的可执行文件减少到 70.3MB。我只是按照这里的例子
Python: Excluding Modules Pyinstaller