首页 > 编程语言 >将python程序打包为exe可执行文件方法

将python程序打包为exe可执行文件方法

时间:2023-06-23 11:44:23浏览次数:41  
标签:可执行文件 文件 exe False chaoxing python py main

将py打包为exe文件需要依赖pyinstaller第三方库

-F:打包后只生成单个exe格式文件;

-D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;

-c:默认选项,使用控制台(就是类似cmd的黑框);

-w:不使用控制台;

-p:添加搜索路径,让其找到对应的库;

-i:改变生成程序的icon图标。

1.单个py文件编译

 打包完成会在当前目录生成一个disk文件夹,里面产生exe文件就是编译后的程序。

2.多个py文件编译

在需要打包的文件目录下运行cmd,输入以下命令来生成.spec文件 

pyi-makespec 主文件.py

运行完成目录下会出现一个.spec文件

 配置.spec文件

# -*- mode: python ; coding: utf-8 -*-
 
 
block_cipher = None
 
 
a = Analysis(
    ['main.py'
    'E:\Folder\python\chaoxing-main\chaoxing-main\api\__init__.py'       #此处填写.py文件
    'E:\Folder\python\chaoxing-main\chaoxing-main\api\chaoxing.py'       #此处填写.py文件,自己的文件有几个就写几个,如果当前在目录下可以直接写文件名,如果在其他文件夹里,填写文件目录加文件名
    'E:\Folder\python\chaoxing-main\chaoxing-main\utils\__init__.py'
    'E:\Folder\python\chaoxing-main\chaoxing-main\utils\functions.py'],
    pathex=['E:\Folder\python\chaoxing-main\chaoxing-main'],    #此列表为项目路径
    binaries=[],
    datas=[( , ),( , )],          #此处填写非py文件,多个文件用(),分割第一个参数是文件路径,第二个是打包后所在的路径
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
 
exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='main',       #程序exe的名称
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,        # 打包的时候进行压缩,False表示不压缩
    console=True,    #此处console=True表示,打包后的可执行文件双击运行时屏幕会出现一个cmd窗口,不影响原程序运行,如不需要执行窗口,改成False即可
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon='icon.ico',      #程序图标,要绝对路径
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='main',       #程序文件夹名称
)

配置好之后

在当前目录cmd中执行命令

pyinstaller xxxx.spec

生成的文件在disk目录下,找到mian.exe 双击运行即可

参考链接:https://blog.csdn.net/qq_56418482/article/details/127338778

 

标签:可执行文件,文件,exe,False,chaoxing,python,py,main
From: https://www.cnblogs.com/mylive/p/17498928.html

相关文章

  • Python 算法之二分查找
    Python算法之二分查找二分查找二分查找又称折半查找优点是比较次数少,查找速度快,平均性能好缺点是要求待查表为有序表,且插入删除困难折半查找方法适用于不经常变动而查找频繁的有序列表。猜数字游戏1、生成一个有序列表2、用户猜测某个数字是否在列表中代码#!/usr......
  • 密码学:凯撒密码(移位密码)原理、加密与解密(Python代码示例)
    原理凯撒密码(移位密码):是一种替换加密,明文中的所有字母都在字母表上向后或向前按照一个固定数目进行偏移后被替换成密文。例如,偏移量为3位的时候:A对应D,B对应E,C对应F等当偏移量为13位的时候,凯撒密码又叫回转密码(ROT13):明文加密得到密文,密文再加密就会得到明文(因为偏移量为13位,一共......
  • Python.re正则表达式的标记
    标记方式在Python的re模块中,有以下几种标记(flags)可用于修改正则表达式的匹配行为:re.I(或re.IGNORECASE):忽略大小写匹配。例如,正则表达式[a-z]+将匹配小写字母字符串,而使用re.I标记后,它将匹配大小写混合或大写字母字符串。re.M(或re.MULTILINE):多行模式匹配。默认情况下,正......
  • Python TTS 初体验
    最近有个需求由于刚入职公司不管是读写还是听说  都有很大的问题于是正好找到一本python的书准备把他再刷一遍  但是听力也想一起练了怎么办呢 TTS 百度,讯飞,这种还要钱 不考虑了打开gayhub 搜TTS GitHub-coqui-ai/TTS:......
  • python 的方法与类
        ......
  • python: How to Create a Python Package
    上篇博文的两个类文件,拖着一个创建好的包名Model中,有些代码会自己生成变化"""StudentScoreInfo.py学生成绩类date2023-06-16edit:GeovinDu,geovindu,涂聚文ide:PyCharm2023.1python11"""importdatetimeimportsysimportosclassStudentScore(object):......
  • 如何使用cpython
    这个的学习主要是因为在运行目标检测的代码时总是会出现下面的错误:fromCython.BuildimportcythonizeModuleNotFoundError:Nomodulenamed'Cython'----------------------------------------ERROR:Commanderroredoutwithexitstatus1:pythonset......
  • 使用pyinstaller打包python为exe文件
    将Python图形界面程序打包成可执行文件,可以在没有Python环境的电脑上运行,可以使用PyInstaller或者cx_Freeze等工具。使用PyInstaller打包Python程序首先,在命令行中安装PyInstaller:pipinstallpyinstaller在命令行中进入Python程序所在目录。输入以下命令:pyinstaller--onef......
  • Python json 字符串插入变量值
    在json字符串中,对某个key插入一个变量值而非固定的值可以照以下的例子来实现:beep_status="ON"f"{{\"Beep\":\"{beep_status}\"}}"在json字符串外套一层{}和f,在取变量时通过{beep_status}来取。......
  • 使用 python 插入 sql 字符串时将对象转换为元组插入占位符
    sql插入的值肯定是动态的,通过%s占位符插入变量:definsert_cover(data:pojos.Cover):sql="insertintocovers(temp,accel_x,accel_y,accel_z,cover_status,date,name,sno)values(%s,%s,%s,%s,%s,%s,%s,%s)"exeSql(sql,tuple(data))data是一个......