我的 PyPI 安装包无法识别 chromedriver 文件

chromedriver file not recognized by my PyPI installed package

我创建了一个 python 包并在 PyPI 中发布了它。包代码基于 chromedriver selenium。我在 PyPI 包文件夹中添加了 chromedriver 文件,并在代码中提到了文件路径:

driver_path= Path.cwd() / "chromedriver"

然而,当我使用 pip install my-package 安装包时。代码returns经典错误:

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.

只能通过手动下载chromedriver并将其添加到包文件夹中才能解决。有没有更好的方法让 chromedriver 在我的 PyPI 包安装时自动安装和配置?

这是不可能的,您需要指导您的用户如何安装 Chrome 和适用于他们平台的 chromem 驱动程序。

我找到了解决办法。诀窍是在您自己的代码中导入您的 python 包,然后获取包路径:

import Path
try:
            import your_pypi_package
            package_path=str(your_pypi_package.__path__).split("'")[1]
            driver_path= Path(package_path) / "chromedriver"
except:
            driver_path= Path.cwd() / "chromedriver"
driver = webdriver.Chrome(executable_path=driver_path, options=options)