通过PyCharm 把Python 程序打包为exe

通过PyCharm 把Python 程序打包为exe很多人应该都是使用 PyCharm 编写 python 程序的吧 虽然都是用 pyinstaller 来打包 python 程序为 exe 但是由于 PyCharm 用了虚拟环境 venv 所有一些参数是有区别的 网上查询了很久没有查到这方面的信息 下面这些都是我自己探索出来的 lin49940 步骤一 点击进入 PyCharm 的输入终端 Terminal 步骤二 输入下面的语句 mypython py 替换为你自己的程序名称 pyinstaller c Fmypython py pE d

很多人应该都是使用PyCharm 编写python 程序的吧,虽然都是用 pyinstaller 来打包python 程序为exe。

但是由于PyCharm 用了虚拟环境venv, 所有一些参数是有区别的,网上查询了很久没有查到这方面的信息,下面这些都是我自己探索出来的lin49940。

步骤一,点击进入PyCharm 的输入终端Terminal

通过PyCharm 把Python 程序打包为exe

步骤二,输入下面的语句, mypython.py 替换为你自己的程序名称

pyinstaller -c -F mypython.py -p E:/dream/venv/Lib/site-packages

这个命令是把程序打包为单独的一个exe文件, 打包成功后的文件在E:\dream\dist 文件夹下,名称为mypython.exe。

当然你也可以打包为多个文件的形式。

-p E:/*    就是pycharm 当前项目的虚拟环境了, 里面有编写程序使用到的包,这些包可能没有加入到系统的python 环境中,我们必须指定这个路径,依赖的包才能被打包程序加载到。

pyinstaller 命令具体参数, 可以查看官方文档

https://pyinstaller.readthedocs.io/en/stable/usage.html#options

注意, 32位环境打包的exe 可以在32或64位的机器运行, 64位环境打包的exe 只能在64位的机器上运行。


 window 特有的(pyinstaller 3.0 才有)

          –win-private-assemblies

这个参数是指将共享的程序集变为私有程序集,这样的话即使改变环境,编译的程序依然只会执行私有程序集而忽视不同环境下的共享程序集。这个参数尤其适合在一台机器上编译完成后在各种不同环境下执行。

       与之相近的还有一个参数

        –win-no-prefer-redirects

这两个参数是在比较新的pyinstaller版本中才有的选项


对于图形的开发工具, 不要使用 -F 当个文件的方式打包, 这样的话, 你需要去配置环境, 用默认的-D 文件夹的方式打包就行了。

 

Window 运行, 是需要VC++ redist 的支持的,并且版本和(32位或64位)必须对, 不管是python 的wxPython 还是 c#的WPF 也是一样的,使用 C#app 能使用 Chromium 内核的CefSharp 从V65 版本开始就要VC++ Redist2015 才行。

缺少的一些如api-ms-win-crt-runtime-l1-1-0.dll 这些, 其实就是没有指定的 VC++ redist 版本(最低版本,一般有高版本的也行), 绝对不要自己下载或者去其他电脑拿这些dll 文件过来,很可能不兼任导致的莫名其妙的问题(CLR20R3,Error loading Python DLL loadLibrary Pyinstaller FormatMessageW failed 等奇怪的问题),安装对应版本的VC++ Redist 才是根本解决方法。

VC++ redist 绝对绝对绝对要去微软官网下载, 不要到国内一些下载网站下载,他们的东西杂七杂八的,有点小问题就能坑死你。

https://support.microsoft.com/en-us/help//the-latest-supported-visual-c-downloads

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/173649.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月27日 上午8:21
下一篇 2026年3月27日 上午8:21


相关推荐

  • Object Detection-评价标准-AP mAP

    Object Detection-评价标准-AP mAP

    2021年6月19日
    76
  • zabbix监控哪些指标_zabbix监控爱快

    zabbix监控哪些指标_zabbix监控爱快前言面试中经常会被问到一些技术问题,面试官一方面是看你对于当前技术的点的掌握情况,另一方面是判断你是否在公司里干过,毕竟很多技术只要自学一下就能应付面试。今天我们来聊聊,面试中那些高频的问题,比如zabbix你都监控哪些参数。一.原理解释说到监控,在运维这个行业其实有很多开源的监控方案,目前最常见的就是zabbix+grafana,我工作那时候还是用cacti和nagios的比较多。还记得以前去面试,面试官来了一句,zabbix会搭建吗,会的话你在这搭建下,30分钟搭建出来就入职。不管

    2025年8月21日
    6
  • 矢量控制——SVPWM

    矢量控制——SVPWM空间矢量脉宽调制 SVPWM 主要思想是把三相交流电机等效为直流电机 然后跟踪圆形磁场 SVPWM 主要由 波形发生器 Chark 变换 扇区判断 Park 变换 桥臂作用时间 比较器 插入死区等模块组成 1 波形发生器 使用 DDS 在 FPGA 内部产生正弦波 三角波 如果是三相星形不带零线 则可以只产生两路正弦波 相位相差 120 度 相位差可以在 DDS 的地址加个常数来实现 三角波 则

    2026年3月18日
    3
  • 15. PARTITIONS「建议收藏」

    15. PARTITIONS「建议收藏」15.PARTITIONSPARTITIONS表提供有关表分区的信息。此表中的每一行对应于分区表的单个分区或子分区。有关分区表的更多信息,请参见分区。PARTITIONS表有以下列:TABLE_CATALOG:表所属目录的名称。该值始终为def。TABLE_SCHEMA:表所属schema(databas…

    2022年4月19日
    44
  • “龙虾”之父喊话合作,百度做对了什么?

    “龙虾”之父喊话合作,百度做对了什么?

    2026年3月13日
    1
  • requests爬取百度音乐

    requests爬取百度音乐

    2021年11月19日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号