Moh*_* B. 5 python exe py2exe pyinstaller cython
我有一个 python 脚本,旨在成为一个完全独立的 exe,据我所知,可以通过以下方法来完成:
1-使用 py2exe 或 pyinstaller 之类的东西。他们的问题是众所周知的,与其他任何东西相比,输出非常大,只有数十 MB 来打印 hello world 并不好。所以,我希望没有人推荐使用它们。
2-另一种方法是将其编译为 C,然后将此 C 编译为 exe 我已经尝试了第二个解决方案,并使用 Cython 达到了良好的 exe 大小
cython --embed my_code.py
Run Code Online (Sandbox Code Playgroud)
这给出了 my_code.c 。我把它带到 Visual Studio 编译器来编译它:
cl my_code.c /I C:\python3\include /link /LIBPATH:C:\python3\libs
Run Code Online (Sandbox Code Playgroud)
现在我有了exe,但不幸的是,它根本不是独立的!
1-我的用户定义的导入应该在它旁边才能工作。(我以为它们会合并,但这显然没有发生)
2-最大的问题是它仍然依赖于我的计算机上的python路径-Lib文件夹
当在另一台电脑(没有Python)上尝试时,出现以下错误:
Py_Initialize fails - unable to load the file system codec
No module named encodings
Run Code Online (Sandbox Code Playgroud)
就我的搜索而言,这是由于他找不到库编码,它仍然会查找 C:\python3\Libs (不是独立的,仍然希望在客户电脑上安装 python)
我希望找到上述两个问题的解决方案,并提前致谢。
| 归档时间: |
|
| 查看次数: |
3420 次 |
| 最近记录: |