python脚本打包后无法运行exe文件的解决方案

作者:不知道用哪个昵称 时间:2021-02-25 23:25:35 

技术栈win7+python3+selenium

之前有个需求需要实现自动化提流程,为了在任何电脑都能实现该功能,特此写了个爬虫,并将其打包成EXE文件,但在点击EXE文件是出现了问题

点击exe文件终端小黑窗一闪而过

为了看到终端是否有报错可以在该exe文件目录下输入cmd执行终端,并在终端中输入exe文件名称如下

python脚本打包后无法运行exe文件的解决方案

回车后会看到报错

python脚本打包后无法运行exe文件的解决方案

一开始怎么也无法找到错误所致(因为在虚拟环境都有导入selenium包),后来索性直接在windows环境下pip install selenium,成功的解决了这个问题。

在自己电脑上终于可以跑成功了,但是把文件发到其他电脑上就有另一个问题了


Microsoft Windows [版本 10.0.17763.805]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\jiazhiqiang-phq\Desktop\OA\dist>msg.exe
Traceback (most recent call last):
File "site-packages\selenium\webdriver\common\service.py", line 76, in start
File "subprocess.py", line 709, in __init__
File "subprocess.py", line 997, in _execute_child
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "msg.py", line 125, in <module>
File "msg.py", line 10, in msg
File "site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
File "site-packages\selenium\webdriver\common\service.py", line 83, in start
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

[5880] Failed to execute script msg

原因是谷歌浏览器对应的驱动不同(我本地驱动配置了相对应的谷歌驱动的环境变量,所以代码中并没有写驱动的绝对路径)

解决方法下载对应的驱动放到exe文件同级目录下就好啦!

补充:使用pyinstaller将python程序打包成exe执行文件时遇到模块找不到的问题解决办法

在使用pyinstaller对python程序进行打包后,若打包的主程序中调用自编模块(有时第三方模块也会出现同样问题),运行exe文件出现模块找不到的问题。

python脚本打包后无法运行exe文件的解决方案

这样就不能将打包后的exe文件 在其他电脑上运行。

解决办法是:

打包时加入你自编模块(或第三方模块所在文件夹路径),笔者程序中调用了shiyanshi自编模块,在D:\Pycharm\Program路径下。

python脚本打包后无法运行exe文件的解决方案

因此打包时需要添加路径进行打包。

使用pyinstaller ***.py -F -p D:\Pycharm\Program命令在主程序所在文件目录下进行打包,即可解决模块找不到的问题。

python脚本打包后无法运行exe文件的解决方案

可以正常运行。

python脚本打包后无法运行exe文件的解决方案

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

来源:https://blog.csdn.net/zhengxiangling_02/article/details/102728403

标签:Python,打包,exe
0
投稿

猜你喜欢

  • 详解python Todo清单实战

    2021-11-03 06:24:50
  • 使用Math.max,Math.min获取数组中的最值实例

    2023-09-03 23:23:59
  • 如何获知服务器上Application对象及其对应的值?

    2009-11-24 18:09:00
  • Python入门之modf()方法的使用

    2023-02-27 10:11:53
  • CSS元素类型

    2009-04-27 12:25:00
  • Python监听剪切板实现方法代码实例

    2023-11-10 13:48:32
  • Python中模块pymysql查询结果后如何获取字段列表

    2023-07-23 18:52:54
  • Rel与CSS的联合使用

    2010-02-20 13:03:00
  • 随滚动条移动的DIV层js代码

    2007-10-10 12:51:00
  • SQL 统计一个数据库中所有表记录的数量

    2012-01-29 18:21:36
  • SQL Servr 2008空间数据应用系列四:基础空间对象与函数应用

    2011-02-23 15:01:00
  • Python和perl实现批量对目录下电子书文件重命名的代码分享

    2022-01-28 02:51:48
  • ORACLE 分区表的设计

    2009-08-15 10:56:00
  • asp小偷程序原理和简单示例

    2007-11-05 17:12:00
  • ASP:使用ImageMagickObject组件制作缩略图

    2008-10-21 12:21:00
  • python批量下载壁纸的实现代码

    2023-11-09 18:13:05
  • javascript 网站常用的iframe分割

    2023-08-19 09:27:58
  • 网站制作流程及界面交互设计

    2007-10-26 12:00:00
  • 土豆网前端概况

    2008-01-24 12:06:00
  • 获取CSDN文章内容并转换为markdown文本的python

    2021-04-05 08:32:15
  • asp之家 网络编程 m.aspxhome.com