如何在 windows 和 python 3.4 上使用 esky?
How to use esky on windows with python 3.4?
我正在尝试使用 esky 打包自动更新 python 3 应用程序,但无法在 windows.
上运行
我正在尝试使教程中最简单的示例起作用。
https://github.com/cloudmatrix/esky/tree/master/tutorial/stage1
我的环境:
Z:\share_space\esky-master\tutorial\stage1>python --version
Python 3.4.3
Z:\share_space\esky-master\tutorial\stage1>pip freeze
...
cx-Freeze==4.3.4
esky==0.9.8
py2exe==0.9.2.2
...
当 运行 使用 py2exe 作为冻结器时,由于某些原因它无法找到 py2exe 模块(尽管使用 "python setup.py py2exe" 冻结其他应用程序工作正常)。
Z:\share_space\esky-master\tutorial\stage1>python setup.py bdist_esky
running bdist_esky
Traceback (most recent call last):
File "setup.py", line 17, in <module>
"freezer_module":"py2exe",
File "C:\Python34\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python34\lib\distutils\dist.py", line 973, in run_command
cmd_obj.ensure_finalized()
File "C:\Python34\lib\distutils\cmd.py", line 107, in ensure_finalized
self.finalize_options()
File "C:\Python34\lib\site-packages\esky\bdist_esky\__init__.py", line 291, in
finalize_options
raise RuntimeError(err)
RuntimeError: freezer module not found: 'py2exe'
使用 cx-Freeze 构建包运行良好,但 运行编译可执行文件失败。
Z:\share_space\esky-master\tutorial\stage1>dist\example-app-0.1.win32\example.ex
e
ValueError: bad marshal data (unknown type code)
Fatal Python error: unable to locate initialization module
Current thread 0x00001254 (most recent call first):
为了得到一个可用的 windows 构建,您需要以下内容:
- 来自 github 的最新 esky 版本(不是 pypi)。
- 为了避免 esky 错误,请确保
pip freeze
列出的依赖项的字符大小写正确,如果不正确则重新安装。
- 我可以确认使用 cx-Freeze 有效(py2exe 尚未测试)。
请参阅 this github issue 了解问题是如何解决的。
我正在尝试使用 esky 打包自动更新 python 3 应用程序,但无法在 windows.
上运行我正在尝试使教程中最简单的示例起作用。 https://github.com/cloudmatrix/esky/tree/master/tutorial/stage1
我的环境:
Z:\share_space\esky-master\tutorial\stage1>python --version
Python 3.4.3
Z:\share_space\esky-master\tutorial\stage1>pip freeze
...
cx-Freeze==4.3.4
esky==0.9.8
py2exe==0.9.2.2
...
当 运行 使用 py2exe 作为冻结器时,由于某些原因它无法找到 py2exe 模块(尽管使用 "python setup.py py2exe" 冻结其他应用程序工作正常)。
Z:\share_space\esky-master\tutorial\stage1>python setup.py bdist_esky
running bdist_esky
Traceback (most recent call last):
File "setup.py", line 17, in <module>
"freezer_module":"py2exe",
File "C:\Python34\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python34\lib\distutils\dist.py", line 973, in run_command
cmd_obj.ensure_finalized()
File "C:\Python34\lib\distutils\cmd.py", line 107, in ensure_finalized
self.finalize_options()
File "C:\Python34\lib\site-packages\esky\bdist_esky\__init__.py", line 291, in
finalize_options
raise RuntimeError(err)
RuntimeError: freezer module not found: 'py2exe'
使用 cx-Freeze 构建包运行良好,但 运行编译可执行文件失败。
Z:\share_space\esky-master\tutorial\stage1>dist\example-app-0.1.win32\example.ex
e
ValueError: bad marshal data (unknown type code)
Fatal Python error: unable to locate initialization module
Current thread 0x00001254 (most recent call first):
为了得到一个可用的 windows 构建,您需要以下内容:
- 来自 github 的最新 esky 版本(不是 pypi)。
- 为了避免 esky 错误,请确保
pip freeze
列出的依赖项的字符大小写正确,如果不正确则重新安装。 - 我可以确认使用 cx-Freeze 有效(py2exe 尚未测试)。
请参阅 this github issue 了解问题是如何解决的。