按照此处的答案(如何在pyinstaller中包含chromedriver?)更新了Pyinstaller规范文件后,仍然无法从生成的应用程序文件访问chromedriver。问题可能出在.\\selenium\\webdriver
哪里?那是从答案中复制过来的,我不确定它特定于Windows操作系统。
在终端中运行UNIX可执行文件可以访问chromedriver。
完整的规格文件是:
# -*- mode: python -*-
block_cipher = None
a = Analysis([‘scriptname.py'],
pathex=['/Users/Name/Desktop'],
binaries=[('/usr/local/bin/chromedriver', '.\\selenium\\webdriver')],
datas=None,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=‘app name’,
debug=False,
strip=False,
upx=True,
console=False )
app = BUNDLE(exe,
name=‘appname.app',
icon=None,
bundle_identifier=None)
该行pyinstaller appname.spec scriptname.py --windowed --onefile
用于终端以生成应用程序。
是的,那是Windows路径。在Unix中,请./selenium/webdriver
改用。它告诉将chromedriver二进制文件放在包中的位置,因此pyinstall之后,chromedriver将在/path/to/bundle/dist/selenium/webdriver
。
然后,在代码中,您应该使用类似的方法来实现它(这是一个远程示例):
dir = os.path.dirname(__file__)
chrome_path = os.path.join(dir, selenium','webdriver','chromedriver.exe')
service = service.Service(chrome_path) ...
我试着做一个*。使用pyqtgraph的python应用程序中的exe文件和使用pyinstaller的pyqt库。Pyinstaller生成单个*。exe文件没有错误,但当我尝试启动它时,我得到一个未找到pyqtgraph的错误。 如何构建单个*。使用pyinstaller的exe文件?
我相信我已经完全按照应该的方式设置好了所有内容,但在尝试在浏览器中查看我的应用程序时,始终会收到以下消息。 谁能告诉我哪里出了问题?我没有在Oracle VM Virtualbox manager中设置任何内容。可能是这个吗? 我的主机文件 我的浏览器正在返回 我的项目文件夹设置如下: 在我的家园。亚姆,我认为我的道路是正确的 SSH-into-vagrant显示projects/bookings
问题内容: 关于如何将像imagemagick这样的第三方预编译二进制文件包含到电子应用程序中,是否有很好的解决方案?有node.js模块,但它们都是包装程序或与系统范围内已安装库的本地绑定。我想知道是否可以在发行版中捆绑预编译的二进制文件。 问题答案: 请参阅 下面的 UPDATE (此方法现在并不理想)。 我确实找到了解决方案,但是我不知道这是否被视为最佳实践。我找不到包含第三方预编译二进制文
我在SpringBoot中安装了开发人员应用程序,导出了war文件并将其放在Tomcat9服务器中。当我尝试在Rest客户端中测试API时,应用程序正在连接到测试DB,而不是我在应用程序中声明的DB。mongodb的属性,下面是我的应用程序。所有物 有人能帮我吗。
我注意到,现在当我单击应用程序链接时,浏览器会打开一个窗口,其中包含以下选择选项:浏览器、Google Play... 该链接是从浏览器而不是应用程序中使用的,因此 market:// 不相关。 我使用标准格式: 这是最近的变化吗?我认为以前链接是直接在Google Play中打开的,没有中间窗口? 今天有没有可能不用这个选择窗口直接在Google Play中打开应用??
在C++中,垃圾回收机制(自动回收没有被引用的内存区域)是可选的;也就是说在编译器中并不是一定要实现垃圾回收器。尽管如此,C++0x还是定义了垃圾回收器的功能。与此同时,C++0x还提供了应用程序二进制接口(ABI: Application Binary Interface)来辅助控制垃圾回收器的行为。 我们用“safely derived pointer”(3.7.3.3)(译注:我搜索后发现,