python程序打包exe

环境:

 windows 7 64    python3.6

先导:

早先用Python获取到了微信的好友信息,想把程序打包给朋友用,朋友需要exe的版本,就开始着手打包。

选择打包模块:

1. py2exe
2. pyinstall
3. cx_freeze

使用:

py2exe:
一开始使用了py2exe,模块安装pip install py2exe,安装完成
但是执行过程时候报错了(下的版本低了,不兼容3.6)
报错信息:
     Indexerror: tuple index out of range
google了一下,发现不兼容3.6的,放弃了它。
pyinstall:
然后选择了pyinstall,使用pip install pyinstaller安装完成
pyinstaller F:\itchat-friends.py
安装过程出错!
很无奈,这种时候试了一下简单的hellow程序,打包没有问题,又换了cx_freeze尝试
python程序打包exe_第1张图片
image.png

cx_freeze:

安装cx_Freeze-5.1.1,用的tar包:python setup.py install的方式,然后又写了setup.py:
执行 python setup.py itchat-friends.exe
from cx_Freeze import setup, Executable  

exe = Executable(script="instagram.py", icon="instagram.ico", base="Win32GUI")
packages = ['idnadata']
buildOptions = dict(excludes = ["tkinter"], includes =["idna.idnadata"], optimize=1) 
setup(name='itchat-friends.py',  
      version = '0.1',  
      description='test from py file to exe file',  
      executables = [Executable("itchat-friends.py")]  
  )  
   
同样的,还是报错了,报idnadata的错,只能去看这个core.py文件了,找到from . import idnadata这条,我把它注释掉了,然后重新打包,exe版本的程序正常启动。
python程序打包exe_第2张图片
image.png

你可能感兴趣的:(python程序打包exe)