Python 为什么这个Pypetteer代码只在windows上工作?

Python 为什么这个Pypetteer代码只在windows上工作?,python,python-3.x,unix,web-scraping,pyppeteer,Python,Python 3.x,Unix,Web Scraping,Pyppeteer,我用python编写了一个小程序。它在我的Windows计算机上运行良好,但当我尝试在基于Unix的系统上运行它时,它不起作用。下面是一个最小的可重复示例: 导入异步IO 从pyppeteer导入启动 异步def main(): 浏览器=等待启动(headless=真) page=wait browser.newPage() 等待页面。转到('http://www.example.com') 打印(等待page.content(),flush=True) asyncio.get_event_lo

我用python编写了一个小程序。它在我的Windows计算机上运行良好,但当我尝试在基于Unix的系统上运行它时,它不起作用。下面是一个最小的可重复示例:

导入异步IO
从pyppeteer导入启动
异步def main():
浏览器=等待启动(headless=真)
page=wait browser.newPage()
等待页面。转到('http://www.example.com')
打印(等待page.content(),flush=True)
asyncio.get_event_loop()。运行_直到完成(main())
在Windows上,它按预期运行并返回HTML页面。在Unix上,我在大约35秒未发生任何事件后出现此错误:

Traceback (most recent call last):
  File "pyppeteerTest.py", line 10, in <module>
    asyncio.get_event_loop().run_until_complete(main())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
    return future.result()
  File "pyppeteerTest.py", line 5, in main
    browser = await launch(headless=True)
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 306, in launch
    return await Launcher(options, **kwargs).launch()
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 167, in launch
    self.browserWSEndpoint = get_ws_endpoint(self.url)
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 226, in get_ws_endpoint
    raise BrowserError('Browser closed unexpectedly:\n')
pyppeteer.errors.BrowserError: Browser closed unexpectedly:
回溯(最近一次呼叫最后一次):
文件“pyppeteerTest.py”,第10行,在
asyncio.get_event_loop()。运行_直到完成(main())
文件“/usr/lib/python3.6/asyncio/base\u events.py”,第484行,运行直到完成
返回future.result()
文件“pyppeteerTest.py”,第5行,在main中
浏览器=等待启动(headless=真)
文件“/home/thatcoolcoder/.local/lib/python3.6/site packages/pyppeteer/launcher.py”,第306行,在启动中
返回等待启动器(选项,**kwargs.launch()
文件“/home/thatcoolcoder/.local/lib/python3.6/site packages/pyppeteer/launcher.py”,第167行,在launch中
self.browserWSEndpoint=get_ws_endpoint(self.url)
文件“/home/thatcoolcoder/.local/lib/python3.6/site packages/pyppeteer/launcher.py”,第226行,在get\u ws\u端点中
raise BROWSERERERROR('浏览器意外关闭:\n')
pyppeteer.errors.BrowserError:浏览器意外关闭:

我在Windows上运行Python3.8.2,在Unix上运行Python3.6.9,但我怀疑这是问题所在。我尝试了上的评论中建议的修复,但没有改变任何事情。

我发现我的Unix服务器缺少Pypetteer的一些依赖项。为了修复它,我运行了以下命令:

sudo apt安装gconf服务libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglibb2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0-0 libpangocairo-1.0-0 libstdc++libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca证书字体解放libappindicator 1 libnss3 lsb发布xdg utils wget libcairo-gobject2 libxinerama1 libgtk2.0-0 libpangoft2-1.0-0 libthai0 libpixman-1-0 libxcb-render0 libharfbuzz0b libdatrie1 libgraphite2-3 libgbm1

非常感谢……)