当前位置:首页 » 编程语言 » python3exe打包

python3exe打包

发布时间: 2022-09-06 04:06:02

1. 怎么把 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打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

2. 怎么将多个python打包成exe文件

1、安装pywin32,可以参考《怎么给python安装pywin32模块?》,一定要注意对应的python版本,否则不能安装。

3. 如何把python3程序原文件封装成exe

1.python封装成exe,对于2.3 - 2.7版本的,都可以用PyInstaller:
【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

2.你这个是Python 3,没法用PyInstaller
cx_freeze,好像是支持的,你可以去试试。
3.关于cx_freeze,自己google:
cx_freeze
就可以找到详细信息了。

(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)

4. python3.5:pyd文件打包为exe失败

  • 被打包的文件:helloworld.py, 人人皆知.

  • 打包的命令:pyinstaller -D helloworld.py

  • 打包的console提示: 见随后的引述块

  • 打包发布exe时的纪律(注意事项):

  • 很简单的py脚本. Simple is better than complex. 应该遵守Python的规则.

  • 所以在打包为exe时, 应该尽量减少没有必要的python包的导入. 否则吃的太胖

  • 可以运行的exe文件位于:dist目录下, 而不是build目录下的.

5. python3+scapy能否打包成EXE文件

可以啊,可以搜索,python 文件打包成exe格式,一般需要外界的包
我知道的一个包:pyinstaller

6. 如何将python文件打包成exe文件

1.需要安装 py2exe
2.示例代码:
#exetest.py#创建一个gui界面,只用一个标签和按钮,无功能from Tkinter import *win = Tk()
label = Label(win,text = 'hello')
btn = Button(win,text = 'click')
label.pack()
btn.pack()
win.mainloop()

3.配置代码:
#exeset.pyfrom distutils.core import setupimport py2exe
setup(console=["exetest.py"]) #运行的时候会有CMD窗口#或者setup(windows=["exetest.py"]) 运行的时候只有GUI

4.执行转换
首先定位到文件目录,然后运行CMD
python exeset.py py2exe

执行完毕之后会在该目录中生成一个文件夹dist,里面是生成的exe程序和相关依赖
5.使用pyinstaller
感觉pyinstaller比py2exe更好用,下载pyinstaller后解压就好,然后把一个demo.py复制到目录下,定位到位置后输入命令:
python pyinstaller.py --onefile --windowed --icon=path\x.ico demo.py

其中 --onefile 表示只生成一个.exe文件,相关依赖都打包了, --windowed 表示生成的是GUI,否则是带命令窗口的, --icon 是设置.exe的图标。这些都是可选项。

7. python如何打包称exe

最近写了一个小小的程序,需要进行封装exe,为了简单,就直接用了pyinstaller这个模块,对于python3.6版本的童鞋来说,简直方便的不要。下面就给大家介绍一下如何用pyinstaller去封装程序为exe程序。

首先,需要安装一下pip这个应用,这个已经在前面的文章中说过了,windows和linux都有请借鉴windows和linux。

第二步,安装好pip之后,在cmd命令窗口中输入pip install pyinstaller即能安装上pyinstaller,那么接下来要介绍一下关于pyinstaller几个指令了:
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽;
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹;
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加。
那么通常是使用-F指令,使用的语法是:pyinstaller -F (python程序名称).py

8. 如何将python程序打包为exe

用pyinstaller,很容易就能实现,步骤如下:
下载pyinstaller包,(我可以安装包发给你),把pyinstaller解压到任意路径后
1.开始->运行->cmd->回车
2.把路径改为pyinstaller所在的路径。比如pyinstaller在D盘,则输入“D:”(不包括“下同)回车,再输入”cd pyinstaller”回车
3.把你要打包的.py文件和执行文件所需要的文件复制到你解压的文件夹中(假如你要打包hello.py)
4.输入“Configure.py”回车
5.输入“Makespec.py hello.py”回车,正确的话会产生一个hello文件夹,把这个文件夹你的hello.spec文件复制到跟hello.py一个目录里
6.输入“Build.py hello.spec”回车,正确执行后会在当前目录产生几个文件夹,在dist文件夹里的东西就是我们所需要的,最后记得把所有程序hello.py所需的文件拷到dist文件夹里。

9. Python3.5如何打包编译

python3.5怎么打包编译

问题:用Python开发的小工具有时需要编译打包为Windows(*.exe)、Mac等操作系统下的可执行性文件以供非程序员使用。

解决方案:

一、py2exe

目前只支持到Python3.4,暂不支持Python3.5

相关推荐:《Python视频教程》

二、PyInstaller

安装:

直接安装:

pip install pyinstaller

下载源码包,然后进入包目录,用命令安装

python setup.py install

使用:

进入cmd窗口

进入需要打包的程序目录

输入:pyinstaller + 需要打包的程序(*.py)名称

发布命令:

-w指令

直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽

-F指令

注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹

Error:failed to create process

编译时,出现“failed to create process”错误。

解决方法是打开pyinstaller-script.py,把第一行的路径用引号括起来,最终是下面这个样子就对了

#!"c:program filespython35-32python.exe"

10. python3 使用pyinstaller打包exe程序出错提示计算机缺少文件

事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺
少bs4模块然后我就去查pyinstaller的使用方法,找到pyinstaller有一个-p参数:
1.设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.
2.也可以使用多个-p参数来设置多个导入路径
然后我找到bs4模块所在的目录E:\python\clpicdownload\venv\Lib\site-packages,路径的查找的方法是:
用pycharm打开工程,菜单->setting->project->project Interpreter,把鼠标点到你想要包含的插件上,hint显示的就是所在目录

热点内容
诺基亚密码忘了打什么电话 发布:2024-09-17 03:27:09 浏览:555
树深度优先算法 发布:2024-09-17 03:26:58 浏览:472
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:784
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662