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

技术栈win7+python3+selenium

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

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

为了看到终端是否有报错可以在该exe文件目录下输入cmd执行终端,并在终端中输入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文件出现模块找不到的问题。

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

解决办法是:

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

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

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

可以正常运行。

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

(0)

相关推荐

  • Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

    (一)功能实现效果: 选择文件的效果: 标记预加水印的位置: (二)Python代码: # -*l- coding:utf-8 * import os, io, sys, re, time, json from pandas import array import matplotlib.backends.backend_tkagg import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt #from mat

  • python3.9实现pyinstaller打包python文件成exe

    简述 1.python python作为一门解释型脚本语言,它有三种发布方式: 文件 : 源码文件,运行需要使用者安装Python环境并且安装依赖的各种库 pyc文件:pyc文件是Python解释器可以识别的二进制码,可跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:不需要安装python环境和依赖库,可针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,-) 2.pyInstaller PyInstaller工具可以把python解析器和脚本打包成一

  • 史上最详细的Python打包成exe文件教程

    打包成exe文件可以让python代码在没有python环境的条件下,依然能够运行,实在是码农们写追女朋友表白.情人节浪漫的必需品! 1.使用豆瓣镜像源下载: pyinstaller 有需要了解如何使用国内镜像的小伙伴可以滴滴到此: 国内镜像源详细使用教程! https://blog.csdn.net/xtreallydance/article/details/112596963 在python终端或者cmd中输入此命令: pip install pyinstaller -i https://p

  • Python .py生成.pyd文件并打包.exe 的注意事项说明

    最近用python写了一个小程序,想发布出去让人试用又不想暴露源码,搜索了一下发现将py文件编译成pyd文件就能达到目的. 转换过程很简单,但是在调用pyd文件并且打包为单个exe文件的时候遇到一个坑,搞了一天才解决,在这里分享一下. 首先安装cython库 个人比较喜欢用清华的镜像库,速度快. pip install Cyphton -i https://pypi.tuna.tsinghua.edu.cn/simple 然后创建一个setup.py文件 写入以下内容: from distuti

  • 解决python 打包成exe太大的问题

    这是一个很长的故事,嫌长的直接看最后的结论 事情经过 上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事.因为除了写Python的,绝大多数人电脑里都没有Python编译器,所以打包成exe,让用户(windows)双击就可以打开,也算是必备技能了. 直接用Pyinstaller,打开cmder: pyinstaller -Fw E:\test\url_crawler.py (-F 是打包成一个文件,-w是不出现调试窗口,因为我的小工具里有GUI,所以不用默认的调试窗

  • PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译

    环境: win7+python3.5(anaconda3) 理论上,win7及以上的系统和python任意版本均可. 一.基础脚本 首先我们构建一个简单的脚本,比如输出一串数字.文本之类,这里我们输出一串文字的同时计算一下3次方好了. # -*- coding: utf-8 -*- """ Created on Wed Aug 29 09:18:13 2018 @author: Li Zeng hai """ def test(num): pri

  • 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)

    上一篇我们写了怎么将xmind转换成想要的excel格式,这篇再讲一下用Python自带的tkinter库设计一个简单的gui界面,让我们的xmind路径,用例版本执行等都通过这个gui界面来输入,生成我们需要的excel文件. Python要生成gui,库还是比较多的比如wxpython,这个我看了下,感觉比较难懂,毕竟只是设计一个比较简单的gui界面,所以就使用了tkinter库,感觉这个还是比较方便易懂的,大家可以在这里学习tkinter库http://c.biancheng.net/py

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

    技术栈win7+python3+selenium 之前有个需求需要实现自动化提流程,为了在任何电脑都能实现该功能,特此写了个爬虫,并将其打包成EXE文件,但在点击EXE文件是出现了问题 点击exe文件终端小黑窗一闪而过 为了看到终端是否有报错可以在该exe文件目录下输入cmd执行终端,并在终端中输入exe文件名称如下 回车后会看到报错 一开始怎么也无法找到错误所致(因为在虚拟环境都有导入selenium包),后来索性直接在windows环境下pip install selenium,成功的解决了

  • vue-cli打包后本地运行dist文件中的index.html操作

    使用npm run build生成dist文件夹中的文件是你需要上传到服务器上的文件, 直接打开index.html会直接报错 可以尝试用express搭建一个服务器,做法如下: 1.在dist根目录下新建server.js文件: 2.代码如下: var express = require('express'); var app = express(); const hostname = 'localhost'; const port = 3000; app.use(express.static

  • 将Python脚本打包成exe文件

    目录 1.安装依赖 2.整合资源 3.修改脚本并测试 4.准备图标(可略过) 5.pyinstaller打包 6.结论 总结 相信很多朋友在用Python写完代码之后都迫不及待的想发给对象交流(装X),但是发源码又要求对方有对应的解释器,一般是行不通的,所以我们要把源码打包成可执行的.exe文件,方便广大用户使用. 1.安装依赖 打开命令行[开始->搜索->cmd] pip install pyinstaller 等待安装成功 2.整合资源 将代码所需要加载的文件资源[图片.因为.文档等]整合

  • 如何将Python脚本打包成exe应用程序介绍

    目录 前言 安装Pyinstaller 将脚本打包成exe应用程序 进阶:消除命令窗口.自定义图标 总结 前言 我们有时候会编写Python脚本来辅助我们执行一些重复的操作.但是这些脚本在实际使用中会有一些不方便: 我们通常需要进入终端或者IDE中来运行脚本(当然,有办法可以实现双击脚本文件直接运行,但这不在今天的讨论范围内). 如果把脚本迁移至其他电脑上,那么Python环境变化,比如新电脑上没有安装Python,或者缺乏该脚本所调用的包等,脚本有很大概率无法正常运行. 这时候,我们可以将脚本

  • Python脚本打包成可执行文件过程解析

    Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的) .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:对于非码农用户或者一些小白用户,你让他装个Pyth

  • 解决python便携版无法直接运行py文件的问题

    关联:windows下无前缀直接运行.py文件 关联:便携版python无法直接运行python脚本的问题 症状:直接运行py脚本发现无法传递参数. 在python便携版可正常使用的情况下,python sqlmap.py - u xxx 可正常使用 指定py文件使用python.exe打开时,直接运行 sqlmap.py - u xxx 发现无法传递参数. 原因:注册表键值中缺少传递参数 指定便携版python打开py脚本时,注册表中打开方式键值中少了传递参数的功能 本需要 C:/python

  • 将Python脚本打包成MACOSAPP程序过程

    目录 安装py2app 打开终端输入pip3命令安装py2app工具 配置setup.py setup.py内有一些app信息的配置 生成app 还在此前的目录终端下输入命令 安装py2app 打开终端输入pip3命令安装py2app工具 pip3 install py2pp 安装完成后,默认会装到/Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet目录下,3.8为python3的版本号,可以自己输入以下命令检查对应的版本

  • Vue打包后出现一些map文件的解决方法

    Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1,运行  cnpm run build  开始打包 2,会在项目目录下自动创建dist目录,打包好的文件都在其中 解决办法:去src/config/index.js中改一个参数: productionSourceMap:false 把这个改为false.不然在最终打包的文件中会出现一些map文件,map文件的作用在于:项目打包后,代码都是经过压

  • python脚本在docker上运行的方法

    首先为docker镜像创建一个特定的项目目录.例如: mkdir /home/pi/Desktop/teasr/capturing 将dockerfile和脚本复制到那里并将当前上下文更改为此目录 cp /home/pi/Desktop/teasr/capturing.py /home/pi/Desktop/teasr/dockerfile /home/pi/Desktop/teasr/capturing/ cd /home/pi/Desktop/teasr/capturing 这是最佳实践,因

  • 实例讲解Python脚本成为Windows中运行的exe文件

    将程序转换为exe文件 我们先来介绍如何使用工具Pyinstaller 安装Pyinstaller 我们用pip安装Pyinstaller . 注意,如果使用Pyinstaller,则应使用python 2.7或python 3.3到python 3.6(截至2018年7月)的环境. 安装方法非常简单,我们执行以下命令 $ pip install pyinstaller 接下来我们将python脚本转换为exe文件 我们将".py"文件转换为".exe"文件 首先,

随机推荐