-
Notifications
You must be signed in to change notification settings - Fork 372
Can we put chromium download into the install process? #74
Comments
I added this line to my dockerfile to fix this at the moment:
|
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.) |
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 |
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. |
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: Please try this in the
|
sorry for late reply. I tried the command, it downloaded successfully but seemed failed during the next step:
I was testing it on my Mac |
Thank you for reporting issue and sorry for late reponse. I'm not sure it is related to this issue though, latest pyppeteer suppresses long log message printed when extracting chromium.
|
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.
|
Thank you for reporting issue. |
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.
The text was updated successfully, but these errors were encountered: