赞
踩
一,写了一个抢火车票的程序.无奈别人的电脑没又装python没法运行.然后就想着把我写好得程序转成.exe在windows上直接运行,岂不美哉.
其实很简单,有一个现成的pyInstaller工具,直接拿来用就可以了。
二,pyInstaller安装配置
1,打开网址:pyInstalller下载网址
如:
看好你的python版本 我的是python 2.7,选择的是 PyInstaller 3.3.1 (tar.gz) 。 (查看版本,直接在命令框中输入 python 就会弹出你安装的python版本了)
2,下载并解压后目录如下:(建议和python放在相同的目录下)
3,还需要下载一个pywin32(pywin32网址)
4,双击pywin32-221.win-amd64-py3.5.exe安装,注意安装的时候会自动检测之前安装的Python。下一步,下一步。
5,在CMD命令行进入Python3.5目录下的Scripts目录并执行:python pywin32_postinstall.py -install命令(这里需要使用管理员身份打开cmd,win10下右键单击菜单即可)
6,在CMD命令行中进入D:\Programs\Python\pyinstaller-pyinstaller目录(之前解压的pyInstaller文件夹),然后执行:python setup.py install
三,制作exe
1,先写一个hello.py
- # coding:utf8
- print(“Hello Word”)
2,将hello.py放到目录D:\Programs\Python\pyinstaller-pyinstaller下。
3,在CMD命令行中切换到要打包的程序所在目录,并执行命令:python pyinstaller.py -F hello.py
参数 | 含义 |
---|---|
-F | 指定打包后只生成一个exe格式的文件 |
-D | –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项) |
-c | –console, –nowindowed 使用控制台,无界面(默认) |
-w | –windowed, –noconsole 使用窗口,无控制台 |
-p | 添加搜索路径,让其找到对应的库。 |
-i | 改变生成程序的icon图标 |
4,生成了一个新目录D:\Programs\Python\pyinstaller-pyinstaller\hello
在该目录的dist文件夹下生成了一个hello.exe。
5,运行hello.exe
-p
参数添加搜索路径 pyinstaller.py -F -p C:\python27; ..\demo.py #注意当前目录是我在下一级目录里
2.添加icon图标
pyinstaller.py -F -p C:\python27; -i ..\a.ico ..\demo.py
我按照自己写的步骤在自己电脑上试了一下是可以的,但是将exe拷贝到别人电脑上用了一下,发现出了一个这样的错误
- F:\qq文件\a>AutoRecord.exe
- Traceback (most recent call last):
- File "<string>", line 21, in <module>
- File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line 507, in install
- File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line 156, in __init__
- ImportError: Can't load frozen modules.
这个问题是因为他的运行目录里面包含了中文,要处理中文要从github上面安装最新的pyinstaller
- git clone https://github.com/dkw72n/pyinstaller.git
- python setup.py install
然后重新打包.py文件再次发给对方就可以解决这个问题了
命令
pyinstaller -F xxx.py
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。