miyakogi / pyppeteer

Headless chrome/chromium automation library (unofficial port of puppeteer)
Other
3.56k stars 372 forks source link

Can we put chromium download into the install process? #74

Open neekey opened 6 years ago

neekey commented 6 years ago

Hi thanks for this puppeteer port, works pretty well expect one thing that it downloads the essential chromium during the first launch of the browser.

This can be a potential breakpoint for every production service since if the resource is (somehow) not available, the service will break and you will only be able to find out once the service is online.

I'm currently using pyppeteer in a docker container, and I think if anything is going to break, it better breaks during the build process instead of after deployment.

neekey commented 6 years ago

I added this line to my dockerfile to fix this at the moment:

RUN python -c 'import pyppeteer; pyppeteer.chromium_downloader.download_chromium()'
hartym commented 6 years ago

I think adding it in the install process is a not such a good idea as you can explicitely download it in your dockerfile (or other build system) like you do.

Which also means you can easily change this build step tu use a different install process (like, using debian packages of gchrome instead of chromium, etc.)

neekey commented 6 years ago

hmm... this actually leads to the question that what is the main use case this lib is targetting and it should try to meet the main use case well first and then provide ways to achieve other cases.

From my perspective (my case), I don't want to worry too much about the download process (especially which version I need to use) but at the same time, the lib shouldn't add extra risk of causing my online service fail.

So I suggest we should put the download process in the install process, but allow users to disable it (not familiar with pip, but is it doing setting up some ENV variable before installation?) if they need a different chromium.

For the potential risk I mentioned, once the download process is being processed in the install phase, it won't be a problem anymore ( if the download fails, the deployment will not begin at the first place)

and for my current solution, it works but not reliable, since I shouldn't rely on the lib's implementation details it's another breakpoint once the lib changes it's API changes

hartym commented 6 years ago

As long as we can disable it :D (this is what puppeteer does btw, and the first thing I did after installing it first time was looking for how to disable that).

Be aware that this feature would require you to redownload chromium while docker-building each time you change even a small dependency. Not sure that's a side effect you'd want.

I do the explicit download in my dockerfile same way as you suggested (well, not really. I also install pyppeteer separately), because it allows to leverage docker layer cache separately for chromium and python dependencies, which is better imho.

miyakogi commented 6 years ago

Thank you for discussion, and I'm sorry for long absence and late response.

Since it was difficult to put chromium download into the install process, I have implemented a command to download chromium: pyppeteer-install. For the backward compatibility, pyppeteer still downloads chromium on the first run if chromium is not downloaded.

Please try this in the dev branch:

pip install -U git+git://github.com/miyakogi/pyppeteer@dev
pyppeteer-install
python your-script.py
neekey commented 6 years ago

sorry for late reply. I tried the command, it downloaded successfully but seemed failed during the next step:

~ neekey$ pyppeteer-install
[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.
100%|███████████████████████████████████████████████████████████████████████████████████████████▉| 83906560/83949896 [04:24<00:00, 361439.40it/s][W:pyppeteer.chromium_downloader] 
chromium download done.
Archive:  /Users/neekey/Library/Application Support/pyppeteer/local-chromium/571375/chrome.zip
   creating: chrome-mac/
   creating: chrome-mac/Chromium.app/
   creating: chrome-mac/Chromium.app/Contents/
  inflating: chrome-mac/Chromium.app/Contents/Info.plist  
   creating: chrome-mac/Chromium.app/Contents/MacOS/
  inflating: chrome-mac/Chromium.app/Contents/MacOS/Chromium  
 extracting: chrome-mac/Chromium.app/Contents/PkgInfo  
   creating: chrome-mac/Chromium.app/Contents/Resources/
   creating: chrome-mac/Chromium.app/Contents/Resources/am.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/am.lproj/InfoPlist.strings  
  inflating: chrome-mac/Chromium.app/Contents/Resources/app.icns  
   creating: chrome-mac/Chromium.app/Contents/Resources/ar.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ar.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/bg.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/bg.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/bn.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/bn.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ca.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ca.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/cs.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/cs.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/da.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/da.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/de.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/de.lproj/InfoPlist.strings  
  inflating: chrome-mac/Chromium.app/Contents/Resources/document.icns  
   creating: chrome-mac/Chromium.app/Contents/Resources/el.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/el.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/en.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/en.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/en_GB.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/en_GB.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/es.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/es.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/es_419.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/es_419.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/et.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/et.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/fa.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/fa.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/fi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/fi.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/fil.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/fil.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/fr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/fr.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/gu.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/gu.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/he.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/he.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/hi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/hi.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/hr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/hr.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/hu.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/hu.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/id.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/id.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/it.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/it.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ja.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ja.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/kn.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/kn.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ko.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ko.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/lt.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/lt.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/lv.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/lv.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ml.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ml.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/mr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/mr.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ms.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ms.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/nb.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/nb.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/nl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/nl.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/
   creating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/Contents/
   creating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/Contents/Resources/
   creating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/Contents/Resources/en.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/Contents/Resources/en.lproj/Localizable.strings  
  inflating: chrome-mac/Chromium.app/Contents/Resources/org.chromium.Chromium.manifest/Contents/Resources/org.chromium.Chromium.manifest  
   creating: chrome-mac/Chromium.app/Contents/Resources/pl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/pl.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/pt_BR.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/pt_BR.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/pt_PT.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/pt_PT.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ro.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ro.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ru.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ru.lproj/InfoPlist.strings  
  inflating: chrome-mac/Chromium.app/Contents/Resources/scripting.sdef  
   creating: chrome-mac/Chromium.app/Contents/Resources/sk.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/sk.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/sl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/sl.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/sr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/sr.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/sv.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/sv.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/sw.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/sw.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/ta.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/ta.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/te.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/te.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/th.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/th.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/tr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/tr.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/uk.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/uk.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/vi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/vi.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/zh_CN.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/zh_CN.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Resources/zh_TW.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Resources/zh_TW.lproj/InfoPlist.strings  
   creating: chrome-mac/Chromium.app/Contents/Versions/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Chromium Framework  -> Versions/Current/Chromium Framework 
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Helpers  -> Versions/Current/Helpers 
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Internet Plug-Ins  -> Versions/Current/Internet Plug-Ins 
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Libraries  -> Versions/Current/Libraries 
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Resources  -> Versions/Current/Resources 
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Chromium Framework  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Helpers/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Helpers/crashpad_handler  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Internet Plug-Ins/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Internet Plug-Ins/nacl_irt_x86_64.nexe  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/libEGL.dylib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/libGLESv2.dylib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/libswiftshader_libEGL.dylib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/libswiftshader_libGLESv2.dylib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/MEIPreload/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/MEIPreload/manifest.json  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Libraries/MEIPreload/preloaded_data.pb  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/am.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/am.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/Contents/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/Contents/Info.plist  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/Contents/MacOS/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/Contents/MacOS/app_mode_loader  
 extracting: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/app_mode_loader.app/Contents/PkgInfo  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/AppMenu.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ar.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ar.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/bg.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/bg.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/bn.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/bn.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/BookmarkAllTabs.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/BookmarkBarFolderWindow.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/BookmarkNameFolder.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ca.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ca.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/chrome_100_percent.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/chrome_200_percent.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/CookieDetailsView.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/cs.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/cs.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/da.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/da.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/de.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/de.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/DownloadItem.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/DownloadShelf.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/el.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/el.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/en.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/en.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/en_GB.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/en_GB.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/es.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/es.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/es_419.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/es_419.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/et.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/et.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fa.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fa.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fi.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fil.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fil.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/FindBar.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/fr.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/GlobalErrorBubble.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/gu.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/gu.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/he.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/he.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hi.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hr.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hu.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/hu.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/HungRendererDialog.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/icudtl.dat  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/id.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/id.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/Info.plist  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/InfoBar.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/install.sh  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/it.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/it.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ja.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ja.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/kn.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/kn.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ko.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ko.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/lt.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/lt.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/lv.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/lv.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/MainMenu.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ml.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ml.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/mr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/mr.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ms.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ms.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/natives_blob.bin  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/nb.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/nb.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/nl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/nl.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/OneClickSigninBubble.nib  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/OneClickSigninDialog.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pl.lproj/locale.pak  
 extracting: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/product_logo_32.png  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pt_BR.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pt_BR.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pt_PT.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/pt_PT.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/resources.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ro.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ro.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ru.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ru.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/SaveAccessoryView.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sk.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sk.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sl.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sl.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sr.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sv.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sv.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sw.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/sw.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ta.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/ta.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/TaskManager.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/te.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/te.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/th.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/th.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/Toolbar.nib  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/tr.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/tr.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/uk.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/uk.lproj/locale.pak  
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/v8_context_snapshot.bin  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/vi.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/vi.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/zh_CN.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/zh_CN.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/zh_TW.lproj/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/Resources/zh_TW.lproj/locale.pak  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc/Contents/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc/Contents/Info.plist  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc/Contents/MacOS/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/A/XPCServices/AlertNotificationService.xpc/Contents/MacOS/AlertNotificationService  
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/Current  -> A 
    linking: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/XPCServices  -> Versions/Current/XPCServices 
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/Contents/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/Contents/Info.plist  
   creating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/Contents/MacOS/
  inflating: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/Contents/MacOS/Chromium Helper  
 extracting: chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Helper.app/Contents/PkgInfo  
finishing deferred symbolic links:
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Chromium Framework -> Versions/Current/Chromium Framework
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Helpers -> Versions/Current/Helpers
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Internet Plug-Ins -> Versions/Current/Internet Plug-Ins
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Libraries -> Versions/Current/Libraries
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Resources -> Versions/Current/Resources
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/Versions/Current -> A
  chrome-mac/Chromium.app/Contents/Versions/69.0.3477.0/Chromium Framework.framework/XPCServices -> Versions/Current/XPCServices
[W:pyppeteer.chromium_downloader] chromium extracted to: /Users/neekey/Library/Application Support/pyppeteer/local-chromium/571375
Exception ignored in: <bound method tqdm.__del__ of 100%|████████████████████████████████████████████████████████████████████████████████████████████| 83949896/83949896 [04:26<00:00, 361439.40it/s]>
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/tqdm/_tqdm.py", line 885, in __del__
    self.close()
  File "/usr/local/lib/python3.6/site-packages/tqdm/_tqdm.py", line 1090, in close
    self._decr_instances(self)
  File "/usr/local/lib/python3.6/site-packages/tqdm/_tqdm.py", line 454, in _decr_instances
    cls.monitor.exit()
  File "/usr/local/lib/python3.6/site-packages/tqdm/_monitor.py", line 52, in exit
    self.join()
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 1053, in join
    raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread

I was testing it on my Mac

miyakogi commented 6 years ago

Thank you for reporting issue and sorry for late reponse. But not reproduced on my mac (High Sierra) and Travis CI with tqdm 4.25 with latest pyppeteer. Please check your tqdm is the latest version.

I'm not sure it is related to this issue though, latest pyppeteer suppresses long log message printed when extracting chromium. Please try and check with latest dev version:

pip install -U git+https://github.com/miyakogi/pyppeteer@dev
chbndrhnns commented 6 years ago

I am seeing a similar error on MacOS 10.13.6 with python 3.7 in a pipenv environment and still running the same command again outputs that it was installed correctly.

[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊| 84121600/84299992 [00:29<00:00, 2855704.27it/s][W:pyppeteer.chromium_downloader]
chromium download done.
[W:pyppeteer.chromium_downloader] chromium extracted to: /Users/jo/Library/Application Support/pyppeteer/local-chromium/575458
Exception ignored in: <function tqdm.__del__ at 0x10a420bf8>
Traceback (most recent call last):
  File "/Users/jo/.virtualenvs/pyppeteer-pdf-14OvyUaH/lib/python3.7/site-packages/tqdm/_tqdm.py", line 885, in __del__
    self.close()
  File "/Users/jo/.virtualenvs/pyppeteer-pdf-14OvyUaH/lib/python3.7/site-packages/tqdm/_tqdm.py", line 1090, in close
    self._decr_instances(self)
  File "/Users/jo/.virtualenvs/pyppeteer-pdf-14OvyUaH/lib/python3.7/site-packages/tqdm/_tqdm.py", line 454, in _decr_instances
    cls.monitor.exit()
  File "/Users/jo/.virtualenvs/pyppeteer-pdf-14OvyUaH/lib/python3.7/site-packages/tqdm/_monitor.py", line 52, in exit
    self.join()
  File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 1029, in join
    raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread
 (pyppeteer-pdf-14OvyUaH) ~/dev/pyppeteer-pdf  pyppeteer-install
[W:pyppeteer.command] chromium is already installed.
 (pyppeteer-pdf-14OvyUaH) ~/dev/pyppeteer-pdf 
miyakogi commented 6 years ago

Thank you for reporting issue. I found the problem and fixed it on dev branch (https://github.com/miyakogi/pyppeteer/commit/95dad5fb9ba76fdc44f2833c00e9b89313461330).