在docker容器中离线安装fbprophet
程序员文章站
2024-03-25 13:47:58
...
基础镜像:debian10
1、使用--find-links 方式离线安装fbprophet
由于外部需求需要离线安装fbprophet,因此需要将需要的依赖先下载到本地3rd-requirements目录:
pip download -d 3rd-requirements -r 3rd-requirements/requirements.txt
离线安装fbprophet时,requirements.txt中需要包含以下包:
convertdate==2.1.3
ephem==3.7.6.0
kiwisolver==1.1.0
plotly==3.10.0
retrying==1.3.3
decorator==4.4.0
nbformat==4.4.0
requests==2.22.0
ipython-genutils==0.2.0
jupyter-core==4.5.0
urllib3==1.25.7
idna==2.8
certifi==2019.11.28
chardet==3.0.4
pyrsistent==0.15.2
attrs==19.1.0
traitlets==4.3.2
jsonschema==3.0.1
Cython==0.29.10
pyparsing==2.4.0
holidays==0.9.10
lunardate==0.2.0
matplotlib==3.1.0
numpy==1.16.4
pandas==0.24.2
python-dateutil==2.8.0
pytz==2019.1
setuptools-git==1.2
six==1.13.0
pystan==2.19.0.0
使用dockerf制作镜像:
COPY 3rd-requirements .
RUN pip install --no-index --ignore-installed --find-links=3rd-requirements/ -r 3rd-requirements/requirements.txt
报错如下
原因在于3rd-requirements文件夹拷贝到容器中时,里面的所有文件已经被拷贝到当前目录了,容器中不存在3rd-requirements目录,因此报错。可以修改如下:
WORKDIR /home
COPY 3rd-requirements /home/3rd-requirements
RUN pip install --no-index --ignore-installed --find-links 3rd-requirements/ -r 3rd-requirements/requirements.txt
2、安装fbprophet时报错 “ModuleNotFoundError: No module named 'pystan'”
这种情况是没有安装pystan模块,如果pystan和fbprophet同时放在requirements时也会报上述错误,此时需要将pystan预先安装或者将fbprophet放在后面安装,总之不是放在同一个requirements中即可:
RUN pip install --no-index --ignore-installed --find-links 3rd-requirements/ -r 3rd-requirements/requirements.txt
RUN pip install --no-index --ignore-installed --find-links 3rd-requirements/ fbprophet==0.5
3、出现如下报错 “error: command 'gcc' failed with exit status 1”
一般来说有几个原因:https://blog.csdn.net/qq_33873431/article/details/90290072
此处我的原因在于没有安装build-essential包
- 安装build-essential
apt-get update && apt-get install -y build-essential
4、此时安装了build-essential,可以成功安装fbprophet,但是import时报错 “fbprophet:Importing plotly failed.”
>>> import fbprophet
INFO:matplotlib.font_manager:generated new fontManager
ERROR:fbprophet:Importing plotly failed. Interactive plots will not work.
这是因为没有安装plotly,在plotly中添加plotly即可,我之前requirements中没有添加plotly因此报这个错误,requirements正确配置则不会报错。
推荐阅读
-
Linux中CentOS上安装Docker容器学习笔记(2020.09.05)
-
在docker容器中离线安装fbprophet
-
Linux-CentOS7:Docker容器中安装rabbitmq消息队列容器教程
-
第二部分:如何在Docker容器中安装,运行和删除应用程序
-
在Docker容器中运行Spring Boot应用 博客分类: spring bootspring
-
在宿主机执行docker容器中的shell脚本或命令
-
在Docker容器中不需要运行sshd的原因浅析
-
在Centos7中安装Docker1.12的详细教程
-
在Centos7 中更改Docker默认镜像和容器的位置
-
在docker中安装mysql详解