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即可

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • wpsword表格转换成excel表格_wps文档表格怎么转换成wps表格

    wpsword表格转换成excel表格_wps文档表格怎么转换成wps表格相信经常做表的小伙伴,总会遇到Excel的格式转换问题,那么其实只要你通过以下几个方式,即可快速实现文件格式的转换,不信的话接下来就带各位一起看看吧!一、电脑端1.WPS格式转换首先是我们的WPS里面自带的格式转换功能,只要我们选择【PDF转Excel】按钮,然后就可以快速对PDF里面的表格提取出来,非常方便,平时需要做数据分析的小伙伴一定要记住这个操作了。2.office当然,如果你平时打印表格…

  • GT911电容触摸屏使用[通俗易懂]

    GT911电容触摸屏使用[通俗易懂]一、介绍与硬件连接GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片,他们支持的触控点数不同(GT928支持10个点、GT911支持5个点)、驱动和感应通道也可能不同。可是他们的寄存器和IIC通讯时序是相同的,也就是说驱动程序是兼容的。与主机的接口共有6PIN,分别为:VDD、GND、SCL、SDA、INT、RESET。INT、RESET不需要接上下拉电阻,可与主机直连。SCL、SDA需要接上拉电阻4.7K,毕竟400KHz的通信频率,没有上拉可能导致SCL、SDA边沿不够陡峭。R

  • OutputStreamWriter 源码分析

    OutputStreamWriter 源码分析字符流通向字节流的桥梁:可使用指定的charset将要写入流中的字符编码成字节。为了获得最高效率,可考虑将OutputStreamWriter包装到BufferedWriter中,以避免频繁调用转换器。例如:Writerout=newBufferedWriter(newOutputStreamWriter(System.out));[code="j…

  • 彻底解决Intellij IDEA中文乱码问题(亲测成功)「建议收藏」

    关于JAVA IDE开发工具,Eclipse系列和Intelli IDEA是大部分公司的主要选择,从开发者的选择角度,Intellij IDEA似乎比Eclipse系列更受欢迎一些。当我们使用Intellij IDEA开发时,我们发现出现中文乱码问题,造成中…

  • MySQL中concat函数

    MySQL中concat函数

  • HashMap的hash碰撞

    HashMap的hash碰撞看了看HashMap的源码,有些心得先写下,以便以后查看,不然又要忘了,但不知道对不对,希望没误人子弟吧。主要是解释下HashMap底层实现与如何解决hash碰撞的。HashMap底层是table数组,Entry是HashMap的内部类。可以看到HashMap的key与value实际是保存在Entry中的,next是下一个Entry节点。staticfinalEntry<…

发表回复

您的电子邮箱地址不会被公开。

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