目前有三种方法可以实现python打包成exe,分别为

  • py2exe
  • Pyinstaller
  • cx_Freeze

其中没有一个是完美的

1.py2exe的话不支持egg类型的python库

2.Pyinstaller2.1打包成单独的exe后不支持中文路径,最新版的在win10下打包的exe不可以在之前版本的windows上运行。不过还好的是2.0版本支持中文路径,不过2.0版本不支持安装,需要单独使用

3.cx_Freeze无法打包成单独的exe,只能打包成msi安装文件

1.py2exe

关于py2exe,首先要注意的是安装的版本,因为即使你用的是python2的pip来安装py2exe,它还是会给你装上py2exe 0.9xx ,而这个版本是python3使用的,python2 会报错。python2的兼容版本是0.6的

操作方法:

1.首先就是把你写的一堆py文件放到一个文件夹中,如果你写的是窗口程序,也不需要把后缀改成pyw

2.然后在目录下建一个setup.py文件:

gui程序如下

from distutils.core import setup
import py2exe
import sys#this allows to run it with a simple double click.
sys.argv.append('py2exe')py2exe_options = {"includes": ["sip"],"dll_excludes": ["MSVCP90.dll",],"compressed": 1,"optimize": 2,"ascii": 0}setup(name = 'E_hentai Downloader',version = '1.0',windows = ['E_hentai.py',], zipfile = None,options = {'py2exe': py2exe_options})

控制台如下

from distutils.core import setup
import py2exe
import sys# this allows to run it with a simple double click.
sys.argv.append('py2exe')py2exe_options = {"includes": ["sip"],"dll_excludes": ["MSVCP90.dll", ],"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1
}setup(name='Anhona Downloader',version='1.0',console=["AnhonaDownloader.py"],zipfile=None,options={'py2exe': py2exe_options}
)

上面的option选项中还可以加上一句
"bundle_files": 1
这个代表打包成一个单文件,需要注意的是,在打包pyqt的时候,最好不要加上这个选项,因为这个相当于静态编译,不
会去连接外面的库,所以会导致编译出来后无法加载jpg图片,即使你添加了addLibraryPath。

3.在命令行里面运行 python setup.py py2exe 即可打包完工(最好进入当前文件夹,这样可以在当前目录生成exe)

附加:
如果你是打包的pyqt,记得把plugins拷贝到应用程序目录下,包括pyqt4目录下的qt.conf(等同于addLibraryPath)

2.pyinstaller

这个比较容易使用,如果是控制台程序支持输入下面的命令

pyinstaller --console --onefile --icon="my.ico" xxxxx.py

3.cx_freeze

这个和py2exe比较像,需要一个setup.py文件,内容如下

# -*- coding: utf-8 -*-import sys
from cx_Freeze import setup, Executable# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}# GUI applications require a different base on Windows (the default is for a
# console application).
setup(name="AnhonaDownloader",version="1.0",description="My GUI application!",options={"build_exe": build_exe_options},executables=[Executable("AnhonaDownloader.py")])

然后输入

setup.py build

如果需要作出安装包需要加上bdist_msi

转载于:https://www.cnblogs.com/magicdmer/p/5133616.html

python打包成exe相关推荐

  1. 把python语言翻译出来_Python语言实现翻译小工具(Python打包成exe文件)

    本文主要向大家介绍了Python语言实现翻译小工具(Python打包成exe文件),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.环境 windows10 python3.5 ...

  2. python打包成.exe程序

    一.需求 有些时候,我们想做个带图形化界面的小工具用于pc端,使用MFC当然可以,java也有何不可,那么使用python呢?是否也可以把带有图形化界面的python程序打包成.exe程序?答案是肯定 ...

  3. cmd python封装成exe_别再问我怎么Python打包成exe了!

    也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇(如果有).再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈. 但是呢,我 ...

  4. Python打包成exe,pyc

    D:\mypython\path\ C:\Python27\Scripts\pyinstaller.exe -w mypython.py # Python打包成exe D:\mypython\path ...

  5. python打包成.exe文件时出现“系统找不到指定路径”

    python打包成.exe文件时出现"系统找不到指定路径" 我在一开始写工程时就想到最后打包的时候可能会出现文件位置会发生移动,所以并没有使用绝对路径,而都是以相对路径写的程序. ...

  6. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

  7. python如何将图片打包进exe里_史上最详细的Python打包成exe文件教程

    打包成exe文件可以让python代码在没有python环境的条件下,依然能够运行,实在是码农们写追女朋友表白.情人节浪漫的必需品! 1.使用豆瓣镜像源下载: pyinstaller 有需要了解如何使 ...

  8. 别再问我怎么Python打包成exe了!

    作者 | Python进阶者 来源 | Python爬虫与数据挖掘 阅读文本大概需要 10 分钟 前言 也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇(如 ...

  9. Python打包成exe文件_详细操作

    Python打包成exe文件 前言 一.安装pyinstaller 1.1 安装pyinstaller,使用安装命令: 1.2 如果遇到需要更新版本请输入: 1.3 检查是否正确安装 1.4 稍等,水 ...

  10. 别再问我Python打包成exe了!(终极版)

    大家好,我是小五 <老板又出难题,气得我写了个自动化软件> 上次这篇文章中,评论区有好几条留言都是关心如何将python脚本打包成10多M的? 那今天小五就给大家全面总结一下:Python ...

最新文章

  1. 玉山银行的一名新员工“玉山小i随身金融顾问”
  2. 复习计算机网络day1-计算机网络的初步了解
  3. 洛谷1197星球大战
  4. java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创
  5. python按行读取文件取消空白行_在Python中读取文件时忽略空行的最简单方法
  6. 那些年,我和发哥在恒大的日子
  7. 服务器页是指包含什么脚本程序的网页,XSS攻击的本质就是被攻击者访问的页面返回页面中,包含了未经编码的脚本代码,如等信息。而浏览 - 众答网问答...
  8. Emulator 29.2.12 稳定版发布,启用 Google Maps UI
  9. 华为7c手机怎么恢复出厂设置_华为手机越用越卡,恢复出厂设置真有用?别乱来,看完就明白了!...
  10. 【转】程序员:如何写出杀手级简历
  11. MAC-多开程序两种方法
  12. 使用C#开发Excel插件
  13. 消防信号总线原理_消防报警联动系统中,什么叫回路总线什么叫RS-485总线?
  14. JBoss无文件webshell研究
  15. 交通强国,标准先行【附PPT】
  16. VM虚拟机 .vmdk文件,拆分多个文件,合并单个文件
  17. sinon.js的spy、stub和mock
  18. web前端开发相关网站
  19. 客户信用风险预测——基于logit模型
  20. Linux文件和目录管理(3)

热门文章

  1. jquery.cookie 插件使用方法
  2. Django模板过滤
  3. FileSync文件同步更新工具
  4. 10亿数据量只需要100MB内存,redis的位存储为什么这么牛?
  5. 厉害,刚刚官方宣布 IntelliJ IDEA 2020.2 EAP4发布了!
  6. 厉害,96秒100亿,阿里双十一到底做了什么杠过亿级流量??
  7. Kotlin 或将取代 Java —— 《Java 编程思想》作者 Bruce Eckel
  8. 张一鸣:我遇到的优秀年轻人的5个特质
  9. 现在流行「毕业式」裁员吗?
  10. 给跳槽的人 7 点建议