-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PIP Installation issue on some linux / docker environment #326
Comments
I'm not certain what the issue is but one issue that has come up before in VMs is that it actually requires a lot of RAM to compile the models. Does this instance have >2GB of RAM? |
Hi Ben,
Please let me know if you have additional information. Regards, |
I have installed fbprophet on numerous memory sizes. It requires 4GB to
compile - and I got the tokenize error during Pystan. It wouldn't even
install on a C4 Large (3.75GB), but it did work at 4GB. To install on EC2,
I used a T2.Medium, and then downgraded to actually run it. This does
apply in your case, because per documentation [1], there are no resource
constraints initially placed on the docker VMs, which could very well mean
that is never getting the 4 GB required to compile Pystan. I have
confirmed on EC2 using CENT OS images that it will not work on a C4 Large
(3.75GB), but will work on a 4GB, using the exact same instance - merely
changing instance type. By default, Docker for MAC is set to a maximum of
2GB per VM. [2] You may have hit this situation on yours.
It will run fine with 2GB, but the installation will fail to compile with
less than 4GB, and will fail even at 3.75GB on C4.Large on AWS.
[1]
https://docs.docker.com/engine/admin/resource_constraints/#limit-a-containers-access-to-memory
[2]
https://stackoverflow.com/questions/44533319/how-to-assign-more-memory-to-docker-container
…On Thu, Oct 12, 2017 at 11:44 PM, Ray Chew ***@***.***> wrote:
Hi Ben,
Thanks for the response.
The issue is in the installation of fbprophet library in the docker
container. If you are using docker in your local machine, you can easily
reproduce the issue by running the below command.
docker run --rm -i -t python:3.6.0 bash -c "pip install fbprophet==0.2"
Please let me know if you have additional information.
Regards,
Ray
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#326 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AZTbFqh00iwu2ESkalvaSA03TLrjWTMMks5srtyJgaJpZM4PzaW6>
.
|
@robertdknight Thanks for the details on the RAM requirements. I updated the description in the docs to include the 4GB install requirement (d1bf4a1). |
Based on the error traces I see in the initial issue's description, I seem to have the same problem when trying to install fbprophet on my laptop with 16G of RAM. @raychew13 : was your problem related to RAM? @bletham : any other idea as to what could be causing the problem, apart from insufficient RAM? See #346 for the ticket I've created for my issue, before finding this one. |
* Update memory requirement description per #326 * Fix R warning with extra regressor; disallow constant extra regressors. * Fix unit test broken in new pandas * Fix diagnostics unit tests for new pandas * Fix copy with extra seasonalities / regressors Py * Fix copy with extra seasonalities / regressors R * Fix weekly_start and yearly_start in R plot_components * Fix plotting in pandas 0.21 by using pydatetime instead of numpy
Hi, I have a similar issue, but doing this on a local docker image of amazonlinux:2017.03 where my laptop has ubuntu 17.10 and 32gb, so I'm hesitant to think that it's a memory issue.
From what I understand, docker doesn't limit the memory usage of a container in Linux, so what could it be then? Edit: I just saw #346 and tried the example code there.
So the issue is pystan here and not fbprophet, but i do have gcc installed: Package gcc-4.8.5-1.22.amzn1.noarch already installed and latest version Will check for known pystan issues with docker/amazon linux See also: stan-dev/pystan#219 It seems to be a gcc issue such as here: stan-dev/pystan#395 edit: I solved it by uninstall gcc and then:
After that everything was in sync; apparently pystan doesn't like gcc<5 and I ended up with GCC 4 & 6 at the same time which confused cython amongst others. |
Great to hear a solution, thanks! It looks like we should add to the linux installation instructions to check that gcc is 6 or higher? |
I am using GCC 4.8.5 and it works on many different systems, so that 6 or
higher may be related to a specific distribution. If this is Ubuntu, you
could check the configuration mentioned at
https://docs.docker.com/engine/installation/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities,
because debian distributions do not support that out of the box. You are
running an RPM distribution in a docker container (which does support
memory auditing) on an OS that doesn't, but could be made that way via
configurations. Shuhei Kagawa has a great investigation at
https://shuheikagawa.com/blog/2017/05/27/memory-usage/ into memory usage of
Docker containers with Alpine Linux and the investigation as to why the
image cannot see the same memory details as the host system (if the
resources are truly unconstrained). Fabio Kung wrote a detailed
investigation for Heroku on memory in docker containers and why free and
top do not work, and that is at
https://fabiokung.com/2014/03/13/memory-inside-linux-containers/. My
suspicion is that the docker container is unable to see 4GB+ of Ram in
whatever inquiry mode is used by the installation script on that particular
OS.
…On Fri, Nov 17, 2017 at 11:59 AM, Ben Letham ***@***.***> wrote:
Great to hear a solution, thanks! It looks like we should add to the linux
installation instructions to check that gcc is 6 or higher?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#326 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AZTbFhejzVj8Bp99qAmD2TXuRPFgyvZEks5s3cmagaJpZM4PzaW6>
.
|
* Update memory requirement description per #326 * Fix R warning with extra regressor; disallow constant extra regressors. * Fix unit test broken in new pandas * Fix diagnostics unit tests for new pandas * Fix copy with extra seasonalities / regressors Py * Fix copy with extra seasonalities / regressors R * Fix weekly_start and yearly_start in R plot_components * Fix plotting in pandas 0.21 by using pydatetime instead of numpy * Version bump * Update README for new version * Fix missing columns in SHF with extra regressor
I updated the install instructions for Red Hat to include gcc64, hopefully that helps others but I'm going to go ahead and close this issue and just point others with Linux install issues here in the future. |
I met the same problems when i pip install fbprophet: my env : I change the pystan to 2.18.1.0 solve the problems. |
hm I'm not sure what might be happening there. I just installed pystan 2.19 and pip install fbprophet went smoothly after that.
|
Actually it looks like the integration tests on Travis are now failing for the same reason, and was also fixed by setting pystan<=2.18.1. I'm opening an issue for it in #930 |
I've been using fbprophet in my local dev environment (Mac) for a while for forecasting purpose and It's AWESOME.
I'm planning to run my forecasting engine on EC2. But I have issue with installing the fbprophet. I've also managed to reproduce the installation issue on my docker container. Below is the command that I used to test the installation of the fbprophet library in the runtime docker container.
docker run --rm -i -t python:3.6.0 bash -c "pip install fbprophet==0.2"
I'm using
python3.6
docker image from docker-hub. Just wondering if there is any issue with the specific version of gcc. I've also checked the version of gcc installed inpython3.6
docker image. It hasgcc (Debian 4.9.2-10) 4.9.2
Below is the error.
The text was updated successfully, but these errors were encountered: