当前位置: 首页 > 面试题库 >

有没有办法将二进制文件(例如chromedriver)与通过Pyinstaller编译的单个文件app / exe捆绑在一起?

白智
2023-03-14
问题内容

正如在回答我的问题提到这里,设置在道路chromedriver
binaries在Pyinstaller规范文件(binaries=[('/usr/bin/chromedriver', './selenium/webdriver')])没有效果(除非它被设置不正确)。也就是说,只要chromedriver在PATH中(本例中为/ usr/ bin),就可以对其进行访问。我的问题涉及在后台捆绑chromedriver的可能性,因此不必手动将其安装在另一台计算机上。


问题答案:

我成功地将chromedriver与pyinstaller捆绑在一起(尽管不幸的是,在我运行exe后,我的病毒扫描程序将其标记了出来,但这是另一个问题)

我猜您的问题是您没有在脚本中使用WebEx驱动程序提供正确的路径(使用关键字execute_path)。另外,我不确定如何将chromedriver包含在数据文件中。

这是我的例子。

sel_ex.py:

from selenium import webdriver

import os, sys, inspect     # http://stackoverflow.com/questions/279237/import-a-module-from-a-relative-path
current_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe() ))[0]))

def init_driver():
    chromedriver = os.path.join(current_folder,"chromedriver.exe")
    # via this way, you explicitly let Chrome know where to find 
    # the webdriver.
    driver = webdriver.Chrome(executable_path = chromedriver) 
    return driver

if __name__ == "__main__":
    driver = init_driver()
    driver.get("http://www.imdb.com/")

sel_ex.spec:

....
binaries=[],
datas=[("chromedriver.exe",".")],
....

以这种方式,chromedriver被存储在主文件夹中,尽管它的存储位置无关紧要,只要脚本通过关键字execute_path的正确路径即可。

免责声明:-我没有使用单一文件设置,但这没有什么区别。-我的操作系统是Windows



 类似资料:
  • 问题内容: 我正尝试在电子应用程序中包含预编译的二进制文件。我从电子快速启动应用程序开始,然后修改了我的文件以包含以下代码,该代码在将文件放在身体上时触发: 我将预编译的 ffmpeg 二进制文件放入。一切在开发面板中都运行良好,但是当我使用electronic- packager设置应用程序时,在触发时会向控制台抛出a,但是似乎并没有得到明确的答案。electronic- packager上 的

  • 我已经用python创建了一个GUI(使用Tkinter),在使用os的GUI中单击一个按钮就可以运行python文件。系统('python_file.py')。我想把所有这些python文件打包成单个文件。通过将Tkinter文件保留为主文件,使用pyinstaller创建exe文件。 我创造了这个世界。通过在命令行中执行以下操作来创建exe文件: pyinstaller--debug--one

  • 问题内容: 我想做的是将我的代码发送到远程服务器,该服务器可能安装了不同的python版本和/或可能没有我的应用程序所需的软件包。 现在,要实现这种可移植性,我必须使用解释器和代码来构建可重定位的virtualenv。这种方法存在一些问题(例如,由于无法按预期工作,您必须手动将一堆库复制到virtualenv中),并且通常速度较慢。 从理论上讲,有一种方法可以静态地自行构建python。 我想知道

  • 问题内容: 有没有办法编译一个node.js应用程序? 问题答案: 我可能已经很晚了,但是您可以使用“ nexe”模块在一个可执行文件中编译nodejs +您的脚本:https : //github.com/crcn/nexe

  • 我从。jar文件创建了。exe文件。现在我的客户机要求运行应用程序而不在系统中安装jre。我听说使用捆绑的jre是可能的...但我不知道如何将jre与。exe文件捆绑...

  • 问题内容: 关于如何将像imagemagick这样的第三方预编译二进制文件包含到电子应用程序中,是否有很好的解决方案?有node.js模块,但它们都是包装程序或与系统范围内已安装库的本地绑定。我想知道是否可以在发行版中捆绑预编译的二进制文件。 问题答案: 请参阅 下面的 UPDATE (此方法现在并不理想)。 我确实找到了解决方案,但是我不知道这是否被视为最佳实践。我找不到包含第三方预编译二进制文