将.py文件打包成.exe文件

文章目录

      • 步骤:
        • [1. 安装 PyInstaller](#1. 安装 PyInstaller)
        • [2. 打包 `.py` 文件为 `.exe`](#2. 打包 .py 文件为 .exe)
        • [3. 其他常见的选项](#3. 其他常见的选项)
        • [4. 查找生成的 `.exe` 文件](#4. 查找生成的 .exe 文件)
        • [5. 打包的其他文件和目录](#5. 打包的其他文件和目录)
      • 注意事项:

突然想到.py文件每次运行还得打开编译器,真麻烦,直接打包成.exe文件不是方便很多
要将 .py 文件打包成 .exe 文件,你可以使用 PyInstaller 工具。 PyInstaller 是一个常用的 Python 工具,它可以将 Python 脚本打包成独立的可执行文件,允许你在没有安装 Python 的机器上运行脚本。

步骤:

1. 安装 PyInstaller

首先,确保你已经安装了 PyInstaller。如果没有安装,可以通过 pip 来安装:win+r ,输入cmd

激活环境

bash 复制代码
conda activate base
bash 复制代码
pip install pyinstaller
2. 打包 .py 文件为 .exe

假设你有一个 Python 脚本 script.py,你可以在命令行中使用以下命令来打包:

bash 复制代码
pyinstaller --onefile script.py

这个命令的含义:

  • --onefile:将所有依赖打包成一个单独的 .exe 文件。如果不加 --onefile,PyInstaller 会生成一个包含多个文件和目录的输出。
  • script.py:你的 Python 脚本文件名。
3. 其他常见的选项

PyInstaller 提供了很多选项,可以根据你的需求进行选择:

  • 隐藏控制台窗口(适用于 GUI 应用程序):

    如果你的应用程序是图形界面(GUI)应用程序,而你不希望看到控制台窗口,可以加上 --noconsole(或 -w)参数:

    bash 复制代码
    pyinstaller --onefile --noconsole script.py
  • 添加图标

    可以为生成的 .exe 文件设置图标,使用 --icon 参数:

    bash 复制代码
    pyinstaller --onefile --icon=icon.ico script.py

    icon可以在https://www.iconfont.cn/下载. 下载的png改后缀为.ico即可

    • 关闭终端

    • 但是每一次启动都会出现终端,感觉很恶心.索性不希望看到终端窗口,只想显示图形界面,可以通过以下步骤来避免打开控制台窗口:
bash 复制代码
pyinstaller --onefile --icon=icon.ico --noconsole script.py

完成,结束.

4. 查找生成的 .exe 文件

运行完上述命令后,PyInstaller 会在当前目录下创建一个 dist 文件夹,生成的 .exe 文件会保存在该文件夹中。

例如,在 dist 文件夹下,你可以找到 script.exe 文件。

5. 打包的其他文件和目录

除了 .exe 文件,PyInstaller 还会生成一些其他文件和目录,通常是一些临时文件和依赖库。它们会存放在 build 文件夹中。你不需要关心这些文件,因为最终的 .exe 文件已经包含了所有必要的依赖。

注意事项:

  1. 外部依赖 :如果你的 Python 脚本依赖于其他第三方库(例如 tkinternumpyPillow 等),PyInstaller 会自动将它们打包进 .exe 文件。但某些库可能会遇到问题,具体可以参考 PyInstaller 的文档进行调整。
  2. 文件大小 :打包后的 .exe 文件可能会非常大,因为它包含了 Python 解释器和所有依赖的库。
  3. 测试 :在其他机器上运行打包后的 .exe 文件时,确保目标机器已安装必要的运行时环境。对于某些库(例如 numpypandas 等),需要特别注意依赖关系。
相关推荐
小彭律师5 小时前
数字化工厂中央控制室驾驶舱系统架构文档
python
old_power6 小时前
【Python】PDF文件处理(PyPDF2、borb、fitz)
python·pdf
测试开发Kevin6 小时前
从投入产出、效率、上手难易度等角度综合对比 pytest 和 unittest 框架
python·pytest
强化学习与机器人控制仿真6 小时前
Newton GPU 机器人仿真器入门教程(零)— NVIDIA、DeepMind、Disney 联合推出
开发语言·人工智能·python·stm32·深度学习·机器人·自动驾驶
Tiny番茄7 小时前
No module named ‘xxx’报错原因及解决方式
开发语言·python
老朋友此林9 小时前
MiniMind:3块钱成本 + 2小时!训练自己的0.02B的大模型。minimind源码解读、MOE架构
人工智能·python·nlp
宸汐Fish_Heart10 小时前
Python打卡训练营Day22
开发语言·python
伊织code10 小时前
PyTorch API 9 - masked, nested, 稀疏, 存储
pytorch·python·ai·api·-·9·masked
wxl78122711 小时前
基于flask+pandas+csv的报表实现
python·flask·pandas
鸡鸭扣12 小时前
DRF/Django+Vue项目线上部署:腾讯云+Centos7.6(github的SSH认证)
前端·vue.js·python·django·腾讯云·drf