在PyCharm中将命令打包生成exe文件的两种方式

 更新时间:2026年03月19日 09:04:36   作者:AI+程序员在路上  
在 PyCharm 中打包 Python 文件,最常用、最可靠的方法是结合使用 PyInstaller 工具,下面我会介绍两种在 PyCharm 中操作的方式,并重点说明如何确保依赖项和可能的数据文件被正确包含,需要的朋友可以参考下

在 PyCharm 中打包 Python 文件,最常用、最可靠的方法是结合使用 PyInstaller 工具。针对你之前编写的生成 UFF 文件的脚本,下面我会介绍两种在 PyCharm 中操作的方式,并重点说明如何确保依赖项(如 numpy, pyuff)和可能的数据文件被正确包含。

两种打包方式对比

根据你的需求(是希望得到一个单独的可执行文件,还是包含依赖的文件夹),可以选择不同的方式:

方式核心工具优点缺点适用场景
使用 PyInstaller (推荐)pyinstaller 命令功能强大,打包为独立的.exe文件,用户无需安装Python 。打包后的文件较大,启动稍慢。最终交付给用户,或在未安装Python的电脑上运行。
使用 PyCharm 内置打包内置的 “Export to Zip” 功能操作简单,快速,打包为源码压缩包 。用户仍需安装Python和所有依赖库分享源代码给其他开发者,或备份项目。

对于你生成UFF文件的脚本,由于它依赖了numpy和pyuff等第三方库,为了让其他人在没有Python环境的电脑上也能直接运行,推荐使用 PyInstaller 方式 。

详细步骤:使用 PyInstaller 在 PyCharm 中打包

第一步:安装 PyInstaller

在 PyCharm 中,打开底部工具栏的 Terminal(终端),然后输入以下命令安装:

pip install pyinstaller

或者,你也可以在 PyCharm 的 File > Settings > Project > Python Interpreter 中,点击"+"号搜索 pyinstaller 进行安装 。

第二步:在终端中执行打包命令

在 PyCharm 的 Terminal 中,确保当前目录是你的脚本所在目录,然后输入打包命令。这里有两种最常用的模式:


在 PyCharm 底部工具栏找到 Terminal 标签并点击(如果找不到,可以通过菜单 View → Tool Windows → Terminal 打开)。

模式A:打包成单个exe文件(推荐,文件干净但启动稍慢)
如果你的主程序只有一个 .py 文件(例如叫 generate_frf.py),在终端执行:

pyinstaller -F generate_frf.py

-F--onefile:表示创建一个独立的可执行文件 。

模式B:打包成一个文件夹(包含exe和依赖dll,启动快)
如果你的项目包含多个模块或数据文件,可以使用文件夹模式:

pyinstaller -D generate_frf.py
  • -D--onedir:这是默认模式,会生成一个文件夹,里面包含exe和所有依赖库 。

第三步:找到生成的文件

命令执行成功后,你会在项目目录下看到两个新文件夹:

  • build:存放临时文件,可以忽略。
  • dist这就是你需要的成果! 打包好的 .exe 文件(或包含exe的文件夹)就在这里 。

针对你脚本的特别优化建议

考虑到你的脚本(generate_frf_uff)有以下特点,建议在打包时注意:

  1. 处理依赖项:你的脚本用到了 numpypyuff。PyInstaller 通常能自动检测到它们,并将其打包进去。为了保险起见,可以在打包前检查一下你的虚拟环境是否已经安装好这些库。
  2. 处理可能的数据文件:如果你的脚本未来需要读取或写入特定的文件(比如配置文件、模板文件),需要在打包时特别指定。使用文件夹模式(-D)通常更方便,因为你可以在exe同级目录下放置这些数据文件。
  3. 隐藏控制台窗口(可选):如果你的脚本是图形界面程序,或者不想让用户看到背后的命令行窗口,可以加上 -w 参数:
pyinstaller -F -w generate_frf.py

注意:你的脚本目前会打印输出信息,如果用 -w 隐藏窗口,这些信息就看不到了。建议先在终端中测试无误后,再决定是否隐藏。

以上就是在PyCharm中将命令打包生成exe文件的两种方式的详细内容,更多关于PyCharm命令打包生成exe的资料请关注脚本之家其它相关文章!

相关文章

  • Python 如何测试文件是否存在

    Python 如何测试文件是否存在

    这篇文章主要介绍了Python 如何测试文件是否存在,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • python案例练习合集

    python案例练习合集

    这篇文章主要介绍了python案例学习合集,主要的分享对的练习案例有python批量查询、python批量请求(GET | POST)、python列表转集合练习,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-02-02
  • Python使用Gradio实现免费的内网穿透

    Python使用Gradio实现免费的内网穿透

    内网穿透是一种将内部网络服务暴露到公共网络的技术,可以让外部用户访问内部网络上的服务,本文将介绍如何使用Gradio实现免费的内网穿透,需要的可以参考下
    2024-03-03
  • Python如何使用qrcode生成指定内容的二维码并在GUI界面显示

    Python如何使用qrcode生成指定内容的二维码并在GUI界面显示

    现在二维码很流行,大街小巷大小商品广告上的二维码标签都随处可见,下面这篇文章主要给大家介绍了关于如何使用qrcode生成指定内容的二维码并在GUI界面显示的相关资料,需要的朋友可以参考下
    2022-09-09
  • Python学习之加密模块使用详解

    Python学习之加密模块使用详解

    加密模块在工作中被广泛应用。比如数据的传入 不希望被捕获,通过把数据加密,这样即使被捕获也无法获取到数据的真实信息。本文将学习一下Python中的加密模块的使用 方法,需要的可以参考一下
    2022-03-03
  • Python 虚拟环境的价值和常用命令详解

    Python 虚拟环境的价值和常用命令详解

    在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,今天给大家分享下Python 虚拟环境的价值和常用命令,感兴趣的朋友一起看看吧
    2022-05-05
  • Python实现读取字符串按列分配后按行输出示例

    Python实现读取字符串按列分配后按行输出示例

    这篇文章主要介绍了Python实现读取字符串按列分配后按行输出,涉及Python针对字符串的遍历、判断、运算等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python+Tkinter编写一个批量字符添加工具

    Python+Tkinter编写一个批量字符添加工具

    在日常开发或数据处理工作中,我们经常会遇到需要给一堆列表数据添加引号、逗号的情况,今天我们就用 Python 自带的 tkinter 库,写一个轻量级的桌面小工具,实现一键批量添加前后缀并复制到剪贴板
    2025-12-12
  • Python使用python-docx实现自动化处理Word文档

    Python使用python-docx实现自动化处理Word文档

    这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • 手把手教你YOLOv5如何进行区域目标检测

    手把手教你YOLOv5如何进行区域目标检测

    YOLOV5和YOLOV4有很多相同的地方,最大的改变还是基础架构的变化,下面这篇文章主要给大家介绍了关于YOLOv5如何进行区域目标检测的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12

最新评论