Python进阶-打包程序为exe
操作系统:win7 x64
运行环境:Python3.5
安装PyInstaller
第一步:下载PyInstaller
https://github.com/pyinstaller/pyinstaller
第二步:下载源码安装
在github中打包下载,解压到电脑中,运行命令行进入此目录。
//进入子目录 bootloader
cd bootloader //build the bootloader 运行
python ./waf configure build install //重新进入根目录
cd .. //安装pyinstaller
python setup.py install
第三步:配置虚拟环境
在按快捷键win+r输入cmd进入cmd(管理员)命令行
set Path=%Path%+刚才的解压目录; #例如set Path=%Path%+D:\pyinstaller;
第四步:在命令行输入以下命令查看安装结果:
pyinstaller --version
打包程序
pyinstaller 路径\main.py -F -w -i F:/图片/1.ico -n nginx管理工具 -p D:\python\Python36\Lib\site-packages
'''
说明:红色部分是自己要打包的主程序路径;
红色部分之后的可选参数:
-F:打包为单文件可执行程序,没有此参数的话会有很多其他文件跟可执行文件在一起
-w:是否是窗口程序,不指定的话,程序运行的时候有个控制台黑窗口
-i:可执行文件的图标
-n:可执行文件的名称
-p:打包时要包含的搜索目录,一般不用指定该项
其他参数可参照pyinstaller官方文档。
'''
如果配置没有问题,敲下回车键,等待一会儿即可编译完成。在解压目录下会生成一个dist目录,在该目录里即可查看编译生成的可执行程序。
一般情况下,这个可执行文件就可以单独运行了。不过我的程序稍微复杂些,我的程序是一个flask写的web程序。直接运行的话一直报模板文件找不到的错误,把模板文件复制到同一目录下也不起作用。百度没有找到解决方法,最后Google出来了解决方案:在创建flask的app对象的时候加上这个判断即可:
from flask import Flask
import sys
import os app = None
if getattr(sys, 'frozen', False):
template_folder = os.path.join(sys.executable, '..', 'templates')
static_folder = os.path.join(sys.executable, '..', 'static')
app = Flask(__name__, template_folder=template_folder, static_folder=static_folder)
else:
app = Flask(__name__)
接下来,再重新编译一下,把模板文件和可执行程序复制到同一目录,成功运行。
Python进阶-打包程序为exe的更多相关文章
- Python Pyinstaller 打包程序及遇到的问题总结
一.如何打包py程序 1.安装打包模块 pip install pyinstaller 2.定义保存包的路径 CMD ,CD 比方:把最终*.exe运行文件,保存到H盘 install 文件夹下. 输 ...
- python3.6利用pyinstaller模块打包程序为.exe可执行程序
步骤: 1.安装pyinstaller模块:(必须在联网情况下进行) 操作原理: python3.6已经自带了pip,所以只需要在cmd中执行 pip install pyinstaller 就可以安 ...
- vs2015 C#打包程序为exe
说明:将自己写的C#源代码打包后生成exe,直接安装在别人的电脑上运行,就像我们在网上下载别人的软件一样,很高大上,vs2015提供了打包和生成exe功能: 步骤一.打开vs2015(其他版本应该也是 ...
- python进阶--打包为exe文件
一.Python打包为EXE文件有不少方案,比较常用的有下面两种方式: 1.使用py2exe 详细介绍:http://www.cnblogs.com/jans2002/archive/2006/09/ ...
- Python不同版本打包程序为.exe文件
安装pyinstaller 测试用的python环境是3.6.2版本 下载地址 https://github.com/pyinstaller/pyinstaller/ 1.打开cmd,切到pyinst ...
- python pyinstaller 打包程序报错解决
python打包exe,各种入坑 一.安装PyInstaller 1.安装pywin32 pip命令安装:pip install pywin32(推荐) 2.安装Pyinstaller pip命令安装 ...
- pyinstall python文件打包成二进制exe文件
pycharm + python3 + win7 1 pip install pyinstall (官网) 2 准备 .py 文件 3 具体例子 from PyQt5.QtWidgets impor ...
- 利用pyinstaller将python脚本打包发布
之前写了一个小工具,将excel配置表转换为json.xml.lua等配置文件.最近在学习egret,正好需要转换配置文件,刚好就用上了.然而当我想把工具拷到工作目录时,就发愁了.之前我为了方便扩展, ...
- vs Qt mysql 打包程序 Driver not loaded Driver not loaded
vs下开发Qt连接mysql程序,开发过程中操作MySQL没有问题,但打包以后安装在别的电脑上发现竟然无法连接MySQL,打包的时候,所需的libmysql.dll等dll文件拷贝到exe同级目录了, ...
随机推荐
- [ZJOI 2007] 矩阵游戏
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1059 [算法] 二分图最大匹配 时间复杂度 : O(N^3) [代码] #inclu ...
- MSD3458开发资料
MSD3458HB是mstar最新推出的普通4K数字电视解决方案,不带操作系统,是一个低成本的4K方案,156脚的LQFP普通封装,开发难度低,支持HDMI2.0输入,支持4K输出.1. Suppor ...
- JSSDK使用步骤
绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 引入js文件 在需要调用JS接口的页面引入如下JS文件,( ...
- IntelliJ IDEA 安装目录的核心文件讲解
转自:https://blog.csdn.net/qq_35246620/article/details/61916751 首先,我们回顾一下前两篇关于 IntelliJ IDEA 的博文的内容: 在 ...
- (转载)基于React与Vue后,移动开源项目Weex如何定义未来
https://www.ctolib.com/topics-106347.html vuejs+ts+webpack2框架的项目实践 https://mp.weixin.qq.com/s/p2Uc9I ...
- bzoj4987: Tree(树形dp)
Description 从前有棵树. 找出K个点A1,A2,…,Ak. 使得∑dis(AiAi+1),(1<=i<=K-1)最小. Input 第一行两个正整数n,k,表示数的顶点数和 ...
- 例题 5-1 STL
Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on the ...
- SpringMVC实现Action的两种方式以及与Struts2的区别
4.程序员写的Action可采用哪两种方式? 第一.实现Controller接口第二.继承自AbstractCommandController接口 5.springmvc与struts2的区别? 第一 ...
- 283 Move Zeroes 移动零
给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序.例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, ...
- Ray Wenderlich 的 Objective-C编码规范
由于我正在准备模仿饿了么这个app,到时可能有些iOS开发者参与进来.这时如果每个人的Objective-C编码风格都不一样,这样不易于保持代码一致性和难以Code Review.所以我在网上搜索到 ...