python 生成exe文件

python 生成exe文件在windows下,可以使用pyinstaller打包python程序为exe可执行程序。1、安装pyinstaller在cmd命令行窗口运行以下命令安装pyinstallerpipinstallpyinstaller2、打包python程序在python程序所在目录,执行以下命令#切换到指定目录cd/dpath#正常打包命令pyinstaller-F-w-iico_pathxxx.py-F是将所有文件打成一个exe文件,一般是必写的(注意必须

大家好,又见面了,我是你们的朋友全栈君。

在windows下,可以使用pyinstaller打包python程序为exe可执行程序。

1、安装pyinstaller

在cmd命令行窗口运行以下命令安装pyinstaller

pip install pyinstaller

2、打包python程序

在python程序所在目录,执行以下命令

# 切换到指定目录
cd /d path
# 正常打包命令
pyinstaller -F -w -i ico_path xxx.py
  1. -F 是将所有文件打成一个exe文件,一般是必写的(注意必须是大写)
  2. -w 是程序运行时不显示cmd界面
  3. -i 修改生成的exe文件图标,可以不写(-i 不写的话 ico_path也别写)
  4. ico_path 是生成的exe文件图标位置
  5. py_path 是目标py文件位置

3、运行exe文件

打包完成后,在对应目录会出现build和dist文件夹,exe文件就出现在dist文件夹,直接运行即可。

4、外部文件

以我的chromedriver为例

打包生成exe文件后,依赖的文件还有chromedriver和谷歌浏览器(还需要版本一致)

所以在生成exe文件后,还需要将chromedriver和对应的谷歌浏览器版本一起

5、问题

5.1、’pyinstall’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

改为安装pyinstaller

5.2、exe点开之后就出现failed to execute script xxx

  1. 存在中文路径
  2. 使用pyinstaller时使用了-w命令与print冲突

5.3、反复运行本身

因为你开了进程,需要在main后面添加一句

multiprocessing.freeze_support()

5.4、Pyinstaller打包selenium去除chromedriver黑框问题

我的目录是

C:\Users\45906\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\common\service.py

将其文件中的75行修改

def start(self):
        """
        Starts the Service.

        :Exceptions:
         - WebDriverException : Raised either when it can't start the service
           or when it can't connect to the service
        """
        try:
            cmd = [self.path]
            cmd.extend(self.command_line_args())
            self.process = subprocess.Popen(cmd, env=self.env,
                                            close_fds=platform.system() != 'Windows',
                                            stdout=self.log_file,
                                            stderr=self.log_file,
                                            #修改前
                                            #stdin=PIPE)
                                            #修改后
                                            stdin=PIPE,creationflags=134217728)
  

这里注意,是chromedriver的命令行黑框,并不是window本身的命令行,windows的黑框在你打包的时候添加-w即可

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

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

(0)
上一篇 2022年4月29日 下午2:40
下一篇 2022年4月29日 下午2:40


相关推荐

  • Redis 缓存穿透 + 缓存雪崩 + 缓存击穿的原因和解决方案「建议收藏」

    Redis 缓存穿透 + 缓存雪崩 + 缓存击穿的原因和解决方案「建议收藏」在生产环境中,会因为很多的原因造成访问请求绕过了缓存,都需要访问数据库持久层,虽然对Redsi缓存服务器不会造成影响,但是数据库的负载就会增大,使缓存的作用降低一、缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和持久层都不会命中。在日常工作中出于容错的考虑,如果从持久层查不到数据则不写入缓存层,缓存穿透将导致不存在的数据每次请求都要到持久层去查询,失去了缓…

    2022年6月15日
    28
  • deepfakes怎么用_如何使用 Deepfakes 换脸

    deepfakes怎么用_如何使用 Deepfakes 换脸如何使用Deepfakes换脸1.获取deepfakes工具包gitclonehttps://github.com/deepfakes/faceswap.git2.补齐依赖包:pipinstalltqdmpipinstallcv2pipinstallopencv-contrib-pythonpipinstalldlibpipinstallkeraspipinstall…

    2022年5月26日
    40
  • AUC计算公式推导

    AUC计算公式推导AUC 计算公式推导基本公式推算基本排名的公式推算 2 详解如何计算 AUC 计算 AUC 时 推荐 2 个方法 方法一 在有 M 个正样本 N 个负样本的数据集里 一共有 MN 对样本 一对样本即 一个正样本与一个负样本 统计这 MN 对样本里 正样本的预测概率大于负样本的预测概率的个数 其中 这样说可能有点抽象 我举一个例子便能够明白 IDlabelproA0 1B00 4C10 35D10 8 假设有 4 条样本 2 个正样本 2 个负样本 那么

    2026年3月26日
    2
  • .vue文件结构(vue框架项目)

    build文件夹里面是对webpack开发和打包的相关设置,包括入口文件、输出文件、使用的模块等;build.js文件构建环境下的配置:loading动画、删除创建目标文件夹、webpack编译、输出信息’usestrict’//js的严格模式require(‘./check-versions’)()//node和npm的版本检查process.env.NODE_ENV…

    2022年4月12日
    108
  • 学习笔记20 热传导方程

    学习笔记20 热传导方程之前没学过数值分析 对于误差分析 偏微分方程求解什么的一窍不通 但是看队友微分方程建模学得比较好 解模的能力需要跟上 但是 B 站上面有人专门做了视频讲解 有点长 在此以文字形式保存下来 公式介绍符号意义 uuu 温度 xxx 传播的位移 ttt 时间 jjjx 离散化后的序号 jjj 1 2 N 1nnnt 离散化后的序号 n 1 2 n 1 2 n 1 2 fff 热源带来的温度影响热传导方程 u t x t 2 2 x2u x

    2026年3月18日
    2
  • java md5加盐与解密_md5加密,md5加盐加密和解密

    java md5加盐与解密_md5加密,md5加盐加密和解密packagecom java test importjava security MessageDiges importjava security SecureRandom importjava util Arrays publicclassT privatestati LENGTH 12 16 进制数字 privatestat

    2026年3月16日
    1

发表回复

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

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