我创建了一个python包并将其发布在PyPI中。软件包代码基于铬驱动程序硒。我在 PyPI 包文件夹中添加了 chromedriver 文件,并在代码中提到了文件路径:
driver_path= Path.cwd() / "chromedriver"
但是,当我使用 pip 安装我的软件包时。代码返回经典错误:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
这只能通过手动下载 chromedriver 并将其添加到包文件夹中来解决。有没有更好的方法可以让我的 PyPI 软件包在安装时自动安装和配置chromedriver?
这是不可能的,您需要指导您的用户如何为其平台安装 Chrome 和 chromemdriver 。
我找到了解决方案。诀窍是在您自己的代码中导入您的 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)