公司需要,最近需要使用python的fbprophet模块进行数据的预测处理,但是第一次接触这玩意儿,负责这方面工作的人已经离职了,所以只能自己一点一点捣鼓,百度了那么多,很杂很乱,Anaconda反复安装,也碰到过卸载Anaconda之后在目录下没有东西的情况,如果没有了,那就继续卸载,注册表里面的Anaconda有关的内容也清空一下,一定要彻底删除干净了 ,不然还是会有各种问题,尽量保持一个干净的环境来安装才好找问题。
下面开始吧!
安装fbprophet要只要,它的前提是依赖于pystan的而pystan是依赖于c++编译器的,一系列的依赖,如果你还有防火墙,那碰到的坑就更多了。
1. 安装Anaconda。添加环境变量,可以在DOS窗口下直接conda命令来控制
网址:https://www.anaconda.com/download/#windows,已安装的忽略这步。
测试conda包管理器(就算刚装的也建议测试下):conda inf
将conda软件包管理器更新到最新版本: conda update conda
2. 用conda创建并激活环境。
打开Anaconda propmt, 执行 命令
conda create –n env_name python=3.5
(env_name是我起的名字,可以起其他名字,这里指定用python3.5版本,因为我有不同的python版本,需注意自己的python版本)
3. 激活环境。
activate env_name
4. 安装C++编译器。
conda install libpython m2w64-toolchain -c msys2
这步一定要注意,网络一定要流畅(用自己流量开热点老是报错,后来在某饭店连了Wifi神奇地成功了)。
5. 测试C++编译器。
输入g++,若报不是内部或外部命令,也不是可运行的程序,则未安装上。若报fatal error: no input files则表示安装上。用文本编辑器写一个hello.c文件保存至当前路径:
#include <stdio.h>
int main(){
printf("Hello world!");
return 0;
}
编译:g++ hello.c,若能成功生成a.exe,则编译成功!
6. 依赖包 numpy,cython,pandas,scipy,matplotlib:
conda install numpy -c conda -f
conda install cython -c conda -f
conda install pandas -c conda -f
conda install scipy -c conda -f
conda install matplotlib -c conda -f
7. 安装最难搞的依赖包pystan:
pip install pystan (不是用conda来安装,一定要确保C++编译器已正确安装,需等待10来分钟,若无报错,应是安装成功)
(注意)不要在 Anconda Navigator上安装
安装之后,运行一下conda list 看一下有没有pystan,有了再往下继续,不然你装不上fbprophet
8. 安装fbprophet:
conda install -c conda-forge fbprophet 这个命令会安装其他的一些依赖项
conda install fbprophet -c conda -f (若无报错,应是安装成功)
如果上面的安装命令没有成功 可以试试 conda install fbprophet
9. 验证是否安装成功:
输入: python , 进入python命令行
from fbprophet import Prophet #注意P大写
【注意】
1,有的同志会遇到安装源的问题,这个时候只需要把anaconda的配置文件.condarc 打开,然后替换为一下内容【也可以自己去看其他第三方源 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 】
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
ssl_verify: true
2,如果你输入命令的时候 跳出来一下内容
Collecting package metadata (current_repodata.json): failed
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/current_repodata.json>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64'
不要病急乱投医,乱改东西,这时候是你防火墙问题,输入一下命令:
conda config --set ssl_verify false
输入命令之后,防火墙打开的有效时间在五分钟和十分钟左右,然后就可以conda isntall package_name 你的安装包名了
因为我已经安装过了,就是为了证实上面的这个问题怎么解决的。到这里就可以conda list,看一下fbprophet和pystan已经安安静静的躺在里面了,对了建议再安装一个jupyter notebook 命令和上面一样,有兴趣的可以搜一搜怎么用,我就提一下,不再详细介绍。