如何将一个简单的python程序打包成可执行exe文件

文章产生介绍:

python程序不想c/c++可以直接编译打包成exe文件,在windows环境上运行,python程序需要安装对应的python运行环境,那么要想不按照python环境运行就需要打包python程序,生成exe文件。这也就是这篇文章存在的意义,教你如何打包一个简单的python程序文件。

在这里特别说明的是,本篇文章教的是打包简单的python文件,即不包含pyQT5、图形用户界面(GUI)开发等界面

第一步:确保你的电脑上安装了python环境(python环境的下载)

打开cmd,选择命令提升符

或者直接win+r

 输入python出现如下界面,及证明你的电脑上安装过了python环境

 如果没有安装过的同学

打开自己电脑的对应商店,搜索python,下载即可(一般下载的都是python3)

第二步:编写python代码

python代码是一种脚本语言,可以采用对应python工具,如pycharm、visual studio code等等

我这里采用的记事本编程

在桌面,点击右键,新建一个txt文档,然后打开使用记事本编辑

 在里面编写python代码

#导入对应模块
import os
import sys
import random
#编写对应代码
# 预设的真心话问题
truth_questions = [
    "你最难以忘怀的一段感情是怎样开始的?",
    "你曾经做过最尴尬的事情是什么?",
    "你内心深处最大的恐惧是什么?",
    "有没有一件事是你一直想做却不敢做的?"
]

# 预设的大冒险任务
dare_tasks = [
    "对着窗外大喊三声自己的名字",
    "用怪异的声音唱一首儿歌",
    "做 20 个俯卧撑",
    "给一个很久没联系的朋友打电话说想念他"
]

def truth_or_dare():
    print("欢迎来到真心话大冒险游戏!")
    while True:
        choice = input("请选择:1. 真心话 2. 大冒险 3. 退出游戏: ")
        if choice == '1':
            question = random.choice(truth_questions)
            print(f"真心话问题:{question}")
        elif choice == '2':
            task = random.choice(dare_tasks)
            print(f"大冒险任务:{task}")
        elif choice == '3':
            print("游戏结束,感谢参与!")
            break
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    truth_or_dare()
    

 编写完成之后点击保存

 将文件重命名

 

 

点击是

修改完成

如果你的文件没有出现

带拓展即文件名.txt这种形式的

打开我的电脑或者任意一个文件夹

点击查看,显示,显示文件拓展名即可

 第三部:配置pip国内镜像源(选做)

在这里要配置一个pip的镜像源,因为如果不配置默认连接的国外的镜像源,这样会导致下载文件的速度过慢,出现问题

打开我的电脑,或者随机点击一个文件夹

打开C盘,在我的用户文件

我的路径如下,要根据自己的路径自己分析

C:\Users\zjl15

新建一个pip文件夹

 打开pip文件

新建一个文本文档

 打开进行编写,并命名为pip.ini

在里面输入

对应代码

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

也可以修改为国内其它镜像源

 常见国内镜像源

  • 阿里云https://mirrors.aliyun.com/pypi/simple/
  • 清华大学https://pypi.tuna.tsinghua.edu.cn/simple
  • 中国科学技术大学https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣https://pypi.doubanio.com/simple/

然后就可以了

第四部:下载python打包工具

打开cmd

在 Python 中,有多种工具可以将 Python 脚本打包成可执行的 .exe 文件,常见的工具有 PyInstallercx_Freeze 和 Nuitka

我这里下载的nuitka

安装命令

pip install Nuitka

在这里由于我是提前安装过了,所有我又使用pip uninstall nuitka 进行卸载,进行重新安装

 

 这里出现了一个错误,[Errno 13] Permission denied 表明在安装 Python 包时,由于权限不足,无法对文件进行写入操作。

ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: 'C:\\Python312\\Scripts\\nuitka-run.cmd'
Consider using the `--user` option or check the permissions.

 我们可以使用管理员权限

在 Windows 系统中,权限不足的常见解决办法是用管理员身份运行命令提示符。具体步骤如下:

  1. 在开始菜单里找到 “命令提示符”。
  2. 右键点击 “命令提示符”,然后选择 “以管理员身份运行”。
  3. 在弹出的管理员权限确认对话框中点击 “是”。
  4. 在新打开的命令提示符窗口中执行安装命令

这就安装成功了

 第五步:打包python文件

点击刚才桌面的编写好的python文件,右键点击,选择属性

 找到位置信息

 C:\Users\zjl15\Desktop

打开cmd命令

复制位置信息

cd C:\Users\zjl15\Desktop

输入命令

Nuitka 真心话大冒险.py

这里会出现错误,因为在打包的命名中我们使用了中文,然后出现了错误 

 修改文档名称为数字或字母

在进行打包

Nuitka 1.py

  打包完成之后会在桌面出现如下三个文档

点击exe文件,可以正常运行即打包完成

到这里恭喜你完成了一个python程序打包成exe文件,可以将这个文件发给你的朋友进行使用了 

 nuitka打包命令

nuitka 是一个将 Python 代码编译为可执行文件或扩展模块的工具,以下是一些常见的 nuitka 打包命令及参数:

基本打包命令

bash

nuitka your_script.py

这是最基本的 nuitka 打包命令,将 your_script.py 编译为一个可执行文件,生成的可执行文件与源文件在同一目录下。

常用参数

  • --standalone:创建一个独立的可执行文件,将所有依赖的 Python 模块和资源都打包到一起,方便在其他没有安装 Python 环境的机器上运行。

    bash

    nuitka --standalone your_script.py
    
  • --onefile:将所有内容打包成一个单独的可执行文件,而不是生成一个包含多个文件的文件夹。不过,这种方式可能会使打包后的文件较大,且在某些情况下可能会影响启动速度。

    bash

    nuitka --onefile your_script.py
    
  • --output-dir=DIR:指定打包后的文件输出到指定目录 DIR

    bash

    nuitka --output-dir=dist your_script.py
    
  • --plugin-enable=PLUGIN_NAME:启用指定的插件,nuitka 有许多插件可以扩展其功能,例如 --plugin-enable=tk-inter 用于打包使用了 tkinter 的程序。

    bash

    nuitka --plugin-enable=tk-inter your_script.py
    

  • --include-data-files=PATTERN:包含指定的文件或目录到打包结果中,PATTERN 可以是具体的文件路径或通配符模式。

    bash

    nuitka --include-data-files="images/*.png" your_script.py
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值