python发布exe
A. 怎么把python打包成exe
PyInstaller 是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、linux 和 Mac OS X。
下载
https://github.com/pyinstaller/pyinstaller/
2. 使用
python制作exe可执行文件的方法---使用pyinstaller
python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinstaller, 这个工具全平台可用。我曾使用python制作一个工具程序供公司同事使用后,由于公司使用mac linux windows都有很多,就使用过它来将程序做成可执行文件,兼容性好,只是会使得程序在linux平台和mac平台启动较慢(windows还是比较快的),但基本够用。
安装完pyinstaller之后就可以开始了。
1.使用pyinstaller生成可执行文件的方法
1.1 将依赖文件集中到一个文件夹:
pyinstaller -D -w main.py #把main.py替换成你的主入口python文件即可。
-w参数代表main.py是一个窗体程序。
1.2 将所有依赖文件都打包到同一个可执行文件中:
pyinstaller -F -w main.py
2.调查pyinstaller生成程序的加载过程
使用如下命令,可以得到运行时的跟踪,tracing ,loader 的加载过程。
pyinstaller -Fwd aui.py #把aui.py 换成你需要侦测的文件即可。
B. python 生成exe文件
生成单一的exe文件:
pyinstaller.py -F
..\BlogsToWordpress\BlogsToWordpress.py
主要选项包括:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
生成单一的exe不显示黑框:pyinstaller.py -F -w ..\BlogsToWordpress\BlogsToWordpress.py
C. 如何发布python程序
如何发布一个Python程序:
1、安装一个pyInstaller
在pycharm里点 file—–>setting—–>Project workspace——>Interpreter——>点pip右边的+号,进入下面这个界面:
搜索pyInstaller, 点击左下方Install package安装(出现错误了可以多安装几次)
(或者在命令提示符界面 用 pip install pyinstaller命令安装)
2、将.py文件打包成.exe文件
在完成第一步的安装后,就开始我们的打包。在打包之前可以先运行一下你要打包的.py文件是否可以运行,然后进行打包。
在pycharm中右键点击你将要打包的文件,找到Open in terminal点一下。
在下面出现的Local框内输入命令:pyinstaller -F 文件名,运行。
然后进行打包
打包完成后,稍等一下会刷新出一个dist文件夹, 点击 ,在里面有一个 .exe文件,右键,点击里面的 Show in Explore 找到一个.exe文件(如果不一样的可以看一下你下面打包成功后出现的路径。)
3、发送
将打包好的.exe文件拉到你之前.py文件所在的文件夹,将所有需要的素材一起发送。
别人收到后就能打开你的.exe文件运行你的程序。
众多python培训视频,尽在python学习网,欢迎在线学习!
D. 怎么把 python 打包成 exe 可执行文件
Python是一个脚本语言,被解释器解释执行。它的发布方式:
.py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的)
.pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。
可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...)。
本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定。将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考。
Freezing Your Code
各种打包工具的对比如下(来自文章Freezing Your Code):
Solution
Windows
Linux
OS X
Python 3
License
One-file mode
Zipfile import
Eggs
pkg_resources support
bbFreeze yes yes yes no MIT no yes yes yes
py2exe yes no no yes MIT yes yes no no
pyInstaller yes yes yes no GPL yes no yes no
cx_Freeze yes yes yes yes PSF no yes yes no
py2app no no yes yes MIT no yes yes yes
PS.其中pyInstaller和cx_Freeze都是不错的,stackoverflow上也有人建议用cx_Freeze,说是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。
安装PyInstaller
对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定:
pip install pyinstaller
通常我们会下载源码包,然后进入包目录,执行下面的命令(需要安装setuptools):
python setup.py install
安装完后,检查安装成功与否:
pyinstaller --version
安装成功后,就可以使用下面的命令了:
pyinstaller : 打包可执行文件的主要命令,详细用法下面会介绍。
pyi-archive_viewer : 查看可执行包里面的文件列表。
pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)
pyi-... : 等等。
使用PyInstaller
pyinstaller的语法:
pyinstaller [options] script [script ...] | specfile
最简单的用法,在和myscript.py同目录下执行命令:
pyinstaller mycript.py
然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,对于上面的命令你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件。有时这样感觉比较麻烦,需要打包dist下面的所有东西才能发布,万一丢掉一个动态库就无法运行了,好在pyInstaller支持单文件模式,只需要执行:
pyinstaller -F mycript.py
你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。
当然,pyinstaller还有各种选项,有通用选项,如-d选项用于debug,了解pyInstaller执行的过程;还有一些针对不同平台的选项,具体用法可以访问PyInstaller官方WIKI。
在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项。一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时...一些高级打包选项时,需要手动编辑.spec文件。可以使用:
pyi-makespec options script [script ...]
创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令:
pyinstaller specfile
pyi-build specfile
PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objmp命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
E. linux系统下,如何将python文件封装成exe可执行文件
Python程序是标准的文本文件,由Python解释执行,不可能封装成可执行文件,只能以文本方式发布,造成不能版权保护,这是Python的一个弱点。
F. python怎样生成.exe执行文件
1.使用pyinstaller生成可执行文件的方法
1.1 将依赖文件集中到一个文件夹:
pyinstaller -D -w main.py #把main.py替换成你的主入口python文件即可。
-w参数代表main.py是一个窗体程序。
1.2 将所有依赖文件都打包到同一个可执行文件中:
pyinstaller -F -w main.py
2.调查pyinstaller生成程序的加载过程
使用如下命令,可以得到运行时的跟踪,tracing ,loader 的加载过程。
pyinstaller -Fwd aui.py #把aui.py 换成你需要侦测的文件即可。
G. 有python代码怎么编成可执行的exe程序
py2exe啊,一点也不老,稳定而且好用。
操作步骤如下:
如果你有一个名为helloworld.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚本例如mysetup.py,在其中的setup函数前插入语句import py2exe 。
mysetup.py示例如下:
# mysetup.py
from distutils.core import setup
import py2exe
setup(console=["helloworld.py"])
然后按下面的方法运行mysetup.py:
python mysetup.py py2exe
上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
如果你的helloworld.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。
dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。
默认情况下,py2exe在目录dist下创建以下这些必须的文件:
1、一个或多个exe文件。
2、python##.dll。
3、几个.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。
4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo
上面的mysetup.py创建了一个控制台的helloword.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["helloworld.py"]替换为windows=["myscript.py"]既可。
py2exe一次能够创建多个exe文件,你需要将这些脚本文件的列表传递给console或windows的关键字参数。如果你有几个相关联的脚本,那么这是很有用的。
运行下面个命令,将显示py2exe命令的所有命令行标记。
python mysetup.py py2exe --help
H. python能开发exe软件吗
pyinstaller将Python脚本打包成exe软件,使在没有Python环境的机器上运行最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。(推荐学习:Python视频教程)
但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。
pyinstaller在windows下的安装
使用命令pip install pyinstaller即可 在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32
出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功
使用
定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)(温馨提示:再cmd下tab键又补全功能哦)
再添加上你要转换的文件地址(两者之间有空格)
pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。(加不加凭个人喜好)
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python能开发exe软件吗的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!