求助,python3怎么使用pyinstaller.exe进行打包
答案:2 悬赏:20 手机版
解决时间 2021-03-21 10:40
- 提问者网友:沉默的哀伤
- 2021-03-21 05:35
求助,python3怎么使用pyinstaller.exe进行打包
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-03-21 06:53
一、下载pyinstaller
我使用的版本为PyInstaller-2.1,支持python版本2.3-2.7,点击这里下载。
二、安装pyinstaller
下载完成后,解压即可。我的解压目录为D:\Python27\PyInstaller-2.1\
三、使用pyinstaller打包.py成.exe应用程序
1.注意使用前要安装pywin32,点击这里下载。
2.将需要打包的.py放到PyInstaller-2.1目录下,如下图所示。
在命令行,cd进入可执行python命令的目录,执行命令:python pyinstaller.py [opts] yourprogram.py
主要选项包括:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
更详细的使用方法可以参考下载包里的doc目录下的Manual.html文件。
具体操作:
python pyinstaller.py-F sina_crawler.py
实际操作:(其实就是注意文件路径,我的pyinstaller安装目录D:\Python27\pyinstaller-2.1\)
cd到d:\Python27\目录下,然后命令:
python pyinstaller-2.1\pyinstaller.py -F pyinstaller-2.1\sina_crawler.py
如果最后出现Appending archive to EXE,则生成成功。
注意会生成(均在Python27目录下):
1. dist文件夹(包含生成好的sina_crawler.exe)
2.build文件夹(中间生成,没用,事后可以删掉)
3.sina_crawler.spec文件(中间生成,没用,事后可以删掉)
四、生成的微博爬虫软件
双击生成的dist文件夹里的sina-crawler.exe文件,运行软件开始爬取微博。
顺便说句题外话,对于控制台程序运行,无论是.py文件还是生成的.exe文件,程序运行完闪退的情况:可以在程序加上raw_input()函数,表示运行结束等待回车输入再退出。
我使用的版本为PyInstaller-2.1,支持python版本2.3-2.7,点击这里下载。
二、安装pyinstaller
下载完成后,解压即可。我的解压目录为D:\Python27\PyInstaller-2.1\
三、使用pyinstaller打包.py成.exe应用程序
1.注意使用前要安装pywin32,点击这里下载。
2.将需要打包的.py放到PyInstaller-2.1目录下,如下图所示。
在命令行,cd进入可执行python命令的目录,执行命令:python pyinstaller.py [opts] yourprogram.py
主要选项包括:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
更详细的使用方法可以参考下载包里的doc目录下的Manual.html文件。
具体操作:
python pyinstaller.py-F sina_crawler.py
实际操作:(其实就是注意文件路径,我的pyinstaller安装目录D:\Python27\pyinstaller-2.1\)
cd到d:\Python27\目录下,然后命令:
python pyinstaller-2.1\pyinstaller.py -F pyinstaller-2.1\sina_crawler.py
如果最后出现Appending archive to EXE,则生成成功。
注意会生成(均在Python27目录下):
1. dist文件夹(包含生成好的sina_crawler.exe)
2.build文件夹(中间生成,没用,事后可以删掉)
3.sina_crawler.spec文件(中间生成,没用,事后可以删掉)
四、生成的微博爬虫软件
双击生成的dist文件夹里的sina-crawler.exe文件,运行软件开始爬取微博。
顺便说句题外话,对于控制台程序运行,无论是.py文件还是生成的.exe文件,程序运行完闪退的情况:可以在程序加上raw_input()函数,表示运行结束等待回车输入再退出。
全部回答
- 1楼网友:逐風
- 2021-03-21 07:02
py2exe 能够把 python script 转换成可以在windows上独立执行的(即不需安装python)的exe程序(加上其它必需的运行时函数库)。
使用方式:
假设有一python script 名为"hello.py", 通过一个setup.py script 来产生可执行文件
from distutils.core import setup
import py2exe
setup(console=["hello.py"])
将 setup(console=["..."]) 中的文件名替换为要产生 exe 的 script 文件名.然后在 command line 下执行此 script:
setup.py py2exe
之后会在当前目录中产生一个 dist 目录。此目录即包含该可执行文件及其它必须的文件,必须一起发布。
上述 setup.py 中指定产生一个 console 程序; 若要产生一个有 console 窗口的程序,将 "console" 改成 "windows":
setup(windows=["hello.py"])
若要生成多个可执行文件,只要将多个 script 文件名以 list 方式传给 setup() 即可:
setup(console=["hello.py", "hello1.py", "hello2.py"])
也可以同时产生 console 和 windows 程序:
setup(console=["hello.py", "hello1.py"], windows=["hello2.py"])
应用程序有时需要使用到一些外部文件,例如字体或是图片等, 通过setup() 的 data_files参数,可以将这些额外的文件加入发布目录中。将一个或多个 (目的目录, [源文件1,源文件2...源文件n]) 形成的 tuple,包装成 list 指派给 data_files参数即可:
setup(console=["hello.py", "hello1.py"], windows=["hello2.py"],
data_files=[("img",
[r"d:\documents\matrix.jpg",
r"d:\documents\batman.jpg"]),
("xml",
[r"d:\tmp\mypaint.xml",
r"d:\tmp\mypuzzle.xml",
r"d:\tmp\mypuzzle1.xml"])])
产生之后的 dist 目录中,应该会有一 img 目录,内含 matrix.jpg 和 batman.jpg 两个文件,以及 xml 目录,内含三个 xml 文件。
另外 py2exe 还提供了生成 windows service 和 com server 的功能。另外 python 的 gui toolkit - tkinter 也可使用,只是会多出 2mb 多的 tkinter runtime....
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯