我的 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)
我创建了一个 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)