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

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

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

相关文章

  • python中concurrent.futures的具体使用

    python中concurrent.futures的具体使用

    concurrent.futures是Python标准库的一部分,提供了ThreadPoolExecutor和ProcessPoolExecutor两种执行器,用于管理线程池和进程池,通过这些执行器,可以简化多线程和多进程任务的管理,提高程序执行效率
    2024-09-09
  • Python基于xlrd模块操作Excel的方法示例

    Python基于xlrd模块操作Excel的方法示例

    这篇文章主要介绍了Python基于xlrd模块操作Excel的方法,结合实例形式分析了xlrd模块的安装及Python使用xlrd模块模块进行Excel的读写相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Python德劳内三角剖分详解

    Python德劳内三角剖分详解

    这篇文章主要为大家详细介绍了Python中德劳内三角剖分的相关知识,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • 使用Python去除字符串中某个字符的多种实现方式比较

    使用Python去除字符串中某个字符的多种实现方式比较

    python中字符串是不可变的,所以无法直接删除字符串之间的特定字符,下面这篇文章主要给大家介绍了关于使用Python去除字符串中某个字符的多种实现方式比较的相关资料,需要的朋友可以参考下
    2022-06-06
  • python通过post提交数据的方法

    python通过post提交数据的方法

    这篇文章主要介绍了python通过post提交数据的方法,涉及Python使用post方式传递数据的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python的构建工具setup.py的方法使用示例

    python的构建工具setup.py的方法使用示例

    本篇文章主要介绍了python的构建工具setup.py的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • python DataFrame 修改列的顺序实例

    python DataFrame 修改列的顺序实例

    下面小编就为大家分享一篇python DataFrame 修改列的顺序实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 在import scipy.misc 后找不到 imsave的解决方案

    在import scipy.misc 后找不到 imsave的解决方案

    这篇文章主要介绍了在import scipy.misc 后找不到 imsave的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Django项目如何获得SSL证书与配置HTTPS

    Django项目如何获得SSL证书与配置HTTPS

    本文总结了如何获得SSL证书并给Django项目配置HTTPS,建议先收藏再阅读,将来有一天你很可能会用到它。
    2021-04-04
  • Python数字处理的核心技巧分享

    Python数字处理的核心技巧分享

    数字处理是编程中最基础也最核心的能力之一,Python作为一门“电池包含”的语言,提供了丰富的数字处理工具,从基本运算到复杂数学模型都能轻松应对,本文将通过实际案例,带你系统掌握Python数字处理的核心技巧,需要的朋友可以参考下
    2025-07-07

最新评论