环境搭建
软件环境:
1、Python https://www.python.org/downloads/
2、wxPython http://www.wxpython.org/download.php
3、py2exe http://sourceforge.net/projects/py2exe/?source=typ_redirect
4、IDE:pycharm http://www.jetbrains.com/pycharm/download/
注意事项:
(1)选择合适的对应的版本。
a) 比如python分为2.7和3.5两个版本,而wxPython有支持2.6和2.7的版本,所以这里python选择2.7的版本
b) 选择32bit 或者是64bit, 选择对应位数的程序,比如32位的话就都选择32位,否则,编译的时候会出错提示:ImportError: DLL load failed: %1。
安装完成后,测试第一个啥也不干的窗口:
import wx
class App(wx.App):
def OnInit(self):
frame=wx.Frame(parent=None,title='MyFirstWxPythonApplication')
frame.Show()
return True
app=App()
app.MainLoop()
Ps:脚本语言就是叼,啥注册窗口,消息循环都封装了,真是连亲妈都不认识了.....
把python脚本转化成exe
新建模块:convert2exe.py,输入代码:
- from distutils.core import setup
- import py2exe
- setup(windows=[{"script": "app1.py"}])
然后运行windows的dos 命令行,切换目录到proj1/src目录下,输入命令:
python convert2exe.py py2exe
Python 会生成dist文件夹,并把依赖dll 等资源拷贝到这个目录,同时生成 app1.exe
双击app1.exe 即可运行
如果在运行时报以下错误:
error: MSVCP90.dll: No such file or directory
是因为没有找到MSVCP90.dll,在windows目录下搜索MSVCP90.dll这个文件,然后拷到python安装目录的DLLs下就可以了。
当打包PyQt项目时,可能会报以下错误
ImportError: No module named sip
这时只需要在打包时加上--includes sip就行啦,如:
1
|
setup.py py2exe --includes sip
|
运行结束之后,会在路径下生成dist和 build两个目录。其中dist目录中就是编译生成的文件。如果要在其他未安装Python的机器上运行编译好的程序,只要将dist目录复制到其他机器上即可。