winepy2exe,在 Ubuntu 下将 python 程序作成 exe

27 views
Skip to first unread message

Jiahua Huang

unread,
Oct 8, 2008, 9:38:18 AM10/8/08
to Python.cn@google
就算是 ZoomQ 大妈这样的牛人应该也有时候会需要将 Python 程序作成 exe 发给 Windows 用户,
为了方便在 Ubuntu Linux 下直接生成 Windows 的 exe 程序

安装:
wget http://linuxfire.com.cn/~huahua/soft/python/winepy2exe-0.0.1skel.tgz
tar xvf winepy2exe-0.0.1skel.tgz -C ~/

使用:
winepy2exe.sh -n name -v version -d description -a author -e email -c
console1,2,3... -w windows1,2,3...
例如
winepy2exe.sh -n zoomq -v 2.0 -d "Zoom.Q" -a 'zoom' -e zo...@gmail.com
-c ls.py,write.py,read.py -w gui.py

文件会生成在 dist 目录。


如果需要在这个 wine python 环境安装其他软件或模块,可以执行
winepywine.sh XXX.exe

winepywine.sh msiexec /i XXX.msi

neil

unread,
Oct 8, 2008, 9:55:15 AM10/8/08
to pyth...@googlegroups.com
我是新人,问一下大妈是谁啊?

2008/10/8 Jiahua Huang <jhuang...@gmail.com>

Jiahua Huang

unread,
Oct 8, 2008, 10:17:28 AM10/8/08
to Python.cn@google
添加一个参数 -x 用于创建sfx自解压文件并指定自动运行程序


winepy2exe.sh -n zoomq -w gui.py -x gui.py

则会生成一个 zoomq.exe 自解压文件,
点击会自解压到临时目录,并自动执行里边的 gui.exe(gui.py 会编译为 dist/gui.exe)

变相实现将 python 编译为单独一个 exe 运行。

Jiahua Huang

unread,
Oct 8, 2008, 7:49:56 PM10/8/08
to Python.cn@google
orz,
windows 下点击后说不是合法 windows 可执行文件……

肉包

unread,
Oct 8, 2008, 9:09:12 PM10/8/08
to python-cn`CPyUG`华蟒用户组
Zoom Quiet

http://groups.google.com/groups/profile?enc_user=6U3--xQAAABGiXa7R1vp5TSn3_RD8R5tOPANdqfI6prRsqjc7uCt1A

On 10月8日, 下午9时55分, neil <neil.li...@gmail.com> wrote:
> 我是新人,问一下大妈是谁啊?
>
> 2008/10/8 Jiahua Huang <jhuangjia...@gmail.com>
>
> > 就算是 ZoomQ 大妈这样的牛人应该也有时候会需要将 Python 程序作成 exe 发给 Windows 用户,
> > 为了方便在 Ubuntu Linux 下直接生成 Windows 的 exe 程序
>
> > 安装:
> > wgethttp://linuxfire.com.cn/~huahua/soft/python/winepy2exe-0.0.1skel.tgz<http://linuxfire.com.cn/%7Ehuahua/soft/python/winepy2exe-0.0.1skel.tgz>
> > tar xvf winepy2exe-0.0.1skel.tgz -C ~/
>
> > 使用:
> > winepy2exe.sh -n name -v version -d description -a author -e email -c
> > console1,2,3... -w windows1,2,3...
> > 例如
> > winepy2exe.sh -n zoomq -v 2.0 -d "Zoom.Q" -a 'zoom' -e z...@gmail.com

neil

unread,
Oct 8, 2008, 10:03:00 PM10/8/08
to pyth...@googlegroups.com
大妈原来就是Zoom Quiet。

ZQ我知道的,最近在看《python源码剖析》的acknowledge有他的。

2008/10/9 肉包 <yua...@gmail.com>

Jiahua Huang

unread,
Oct 9, 2008, 4:07:24 AM10/9/08
to Python.cn@google
wine 的 bug
http://wiki.python.org/moin/Py2Exe


py2exe and NSIS through WINE (for making Windows executables) is
handy, but py2exe produces invalid Win32 executables

Jiahua Huang

unread,
Oct 9, 2008, 5:40:16 AM10/9/08
to Python.cn@google
wine py2exe 可以解决了。

旧的那个包可以先用 freeze 来生成 .exe
用法见 winepyfreeze.sh -h

比如
winepyfreeze.sh
--include-modules=encodings.ascii,encodings.utf_8,mako.cache
zoomq.py


注意须有 --include-modules=encodings.utf_8

Jiahua Huang

unread,
Oct 9, 2008, 11:41:14 AM10/9/08
to Python.cn@google
这个版本已经解决了 wine py2exe 的问题
http://linuxfire.com.cn/~huahua/soft/python/winepy2exe-0.0.3skel.7z

在 Ubuntu Linux 下用诸如
winepy2exe.sh -c code.py
生成的 .exe 在 Windows 下执行正常了。

而加上参数 -x 比如
winepy2exe.sh -c code.py -x code.py
则可以生成单一的 .exe 文件

同时也可以用使用诸如
winepyfreeze.sh --include-modules=encodings.utf_8 code.py
来 freeze


感觉上 py2exe 比 freeze 效果稍好些。

机械唯物主义

unread,
Jan 29, 2010, 8:56:21 PM1/29/10
to pyth...@googlegroups.com
是否可以把它发布出来?
或者merge到py2exe里面?
我先下下来看看。

2008/10/9 Jiahua Huang <jhuang...@gmail.com>:

> --~--~---------~--~----~------------~-------~--~----~
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:pyth...@googlegroups.com
> 退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: http://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> -~----------~----~----~----~------~----~------~--~---
>
>

机械唯物主义

unread,
Feb 1, 2010, 7:47:25 PM2/1/10
to pyth...@googlegroups.com
几个问题:
是否可以发布为项目?
新的模块还需要自己安装(废话)。是否可以打包一个模块比较多的版本?(比如pythonxy?)
位置必须是固定的,看了脚本,是设置为固定参数的。我个人比较偏向于相对位置。这样可以放在任意的目录下。
吹毛求疵下,是否脚本可以用python写?顺便作为教学?

2010/1/30 机械唯物主义 <linjun...@gmail.com>:

Jiahua Huang

unread,
Feb 2, 2010, 3:32:34 AM2/2/10
to pyth...@googlegroups.com


2010/2/2 机械唯物主义 <linjun...@gmail.com>
几个问题:
是否可以发布为项目?
可以用 -x 参数生成单一 exe 文件(当然也是运行时解压)
 
新的模块还需要自己安装(废话)。是否可以打包一个模块比较多的版本?(比如pythonxy?)
欢迎改进或 fork ~ 
pythonxy 是实在太大了

位置必须是固定的,看了脚本,是设置为固定参数的。我个人比较偏向于相对位置。这样可以放在任意的目录下。
因为不太喜欢所谓“绿色”软件, 还是可以直接调用的比较喜欢。

吹毛求疵下,是否脚本可以用python写?顺便作为教学?
可以啊,不过觉得这类工作用 shell script 更方便 

机械唯物主义 : linjunhalida

unread,
Feb 2, 2010, 3:34:46 AM2/2/10
to pyth...@googlegroups.com
恩,我的意思是说,是否可以把你的脚本作为一个单独的项目发布到google code,方便以后继续开发拓展。。。

2010/2/2 Jiahua Huang <jhuang...@gmail.com>:

> --


> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:pyth...@googlegroups.com

> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn

Jiahua Huang

unread,
Feb 2, 2010, 3:35:55 AM2/2/10
to pyth...@googlegroups.com
其实写 winepy2exe 的主要原因是目前 py2exe 在 wine 下有 bug,
用 wine 生成的 exe 在 Windows 下无法运行,会报错说 不是合法的可执行文件啥的。

所以才做了点手脚让弄出的 exe 在 Windows 下合法。

如果机械唯可以直接修改 py2exe ,让他直接生成的 exe 合法的话,就用不着这个脚本了。

ablo

unread,
Feb 2, 2010, 3:43:58 AM2/2/10
to pyth...@googlegroups.com
好东西,谢谢jiahua huang.
先收藏,找时间试用一下。:)

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:pyth...@googlegroups.com

Jiahua Huang

unread,
Feb 2, 2010, 3:52:47 AM2/2/10
to pyth...@googlegroups.com
http://code.google.com/p/winepy2exe/ 

2010/2/2 机械唯物主义 : linjunhalida <linjun...@gmail.com>
Reply all
Reply to author
Forward
0 new messages