所以我有这个硒和flask应用程序,我部署在数字海洋ubuntu VPS。当我在开发模式下运行应用程序"main@ubutu$python3 pyfile.py"一切运行完美,没有抛出任何错误。但是当我在生产模式下运行应用程序时,即当应用程序被部署时,我得到以下错误:
The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed
我有最新的google-chrome和chromedriver。
main@ubuntu:~$ google-chrome --version
Google Chrome 102.0.5005.61
也在我的代码中,我包含了在不显示的VPS上运行所需的所有选项。
option = Options()
service = Service("/home/path/to/chromedriver")
#option.binary_location = "/usr/bin/google-chrome-stable"
option.add_argument("--headless")
option.add_argument("--no-sandbox")
option.add_argument("--disable-extensions")
option.add_argument("--disable-setuid-sandbox")
option.add_argument("--remote-debugging-port=9222")
option.add_argument("--disable-gpu")
option.add_argument("--start-maximized")
option.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome(service=service, options=option)
很多人都经历过这个问题,但是选项-无沙盒和-无头似乎已经解决了他们的问题。但即使在那之后,我仍然有同样的问题。Google-chrome路径/urs/bin/Google-chrome如有任何帮助,不胜感激。
我使用的是digital ocean ubuntu VPS,所以我遵循了他们关于如何在他们的服务器上部署flask应用程序的文档。如果你遵循他们的文档,你就会遇到这个。这就是解决方案。感谢@Lewis Morris
问题是我在/etc/systemd/system/myapp中使用的路径ENVIRONMENT_PATH。Service,最初是
Environment="PATH=/home/main/searchapp/venv/bin
然后改成:
Environment="PATH=/home/main/searchapp/venv/bin:/usr/bin:/bin"
希望这对将来的人有所帮助,这样他们就不用浪费时间了。