win10 + python3.6 + facebook prophet+pycharm+一堆报错解决

前提:
电脑win10
我原先已经装了python3.6,numpy,matplotlib,pandas,pip,ipython;没有安装Anaconda,如果安装过了,直接看步骤:fbprophet 的安装:

安装visual c++ build tools2015

https://blog.csdn.net/u012247418/article/details/82314129

安装pystan

命令行:

pip install pystan

耗时大概30~40分钟
在这里插入图片描述

下载 facebook prophet

执行:

pip install fbprophet

【若报错: error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe’ failed with exit status 1120

查了下,说是C++编译器没装好
以下是针对fbprophet无法正确安装的解决步骤,如果上面已经成功安装,那么恭喜,直接查看步骤“使用fbprophet

下载安装Anaconda:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
python3.6版本的 Anaconda3-5.0.1-Windows-x86_64.exe
双击exe安装,配置环境变量
在这里插入图片描述
开始菜单栏打开Anaconda Prompt,
如果正常的话,执行:

conda info

会出现信息,如果需要,更新conda,执行:

conda update conda

创建环境,建议创建,不然可能各种报错(比如 ModuleNotFoundError: No module named ‘pystan._api’ 这种百度都百度不到的问题,不要问我为什么会知道):

conda create -n fb_env  python=3.6

创建了环境的话,就需要进入,没创建就不执行(这里可能会让关闭窗口重新进入,那就关掉后再打开执行):

conda activate fb_env 

fbprophet 的安装:

  1. 执行:
    conda install libpython m2w64-toolchain -c msys2
    在这里插入图片描述

  2. 在{Anaconda的安装路径(如果创建了环境的话,就要到环境的目录下)}\ Lib \ distutils中检查是否有distutils.cfg文件,如果没有新建txt文档就创建一个,改后缀名为.cfg;
    有的话就确保里面的内容为:
    [build]
    compiler=mingw32

  3. 给mingw配置环境变量:
    查到gcc.exe所在文件夹的位置,添加到环境变量里
    在这里插入图片描述
    执行以下三个命令看看是否给出版本信息,判断是否添加成功:
    gcc -dumpversion
    ld -v
    dllwrap -version

  4. 执行:
    conda install numpy cython -c conda-forgeconda install numpy cython -c conda-forge

  5. 执行:
    conda install matplotlib scipy pandas -c conda-forge

  6. 执行:
    pip install pystan
    或者
    conda install pystan -c conda-forge
    以上安装过的就不用装了,执行了也会提示已经存在

  7. 执行:
    pip install fbprophet
    或者执行:

    conda install -c conda-forge fbprophet

若安装失败,直接到github下载:https://github.com/facebook/prophet
然后进入prophet-master\python\目录(D:\workspace是我的存放路径)

 cd /d D:\workspace\prophet-master\prophet-master\python

下使用

  pip install -e .

或者

python setup.py install

总有一款适合你
在这里插入图片描述

使用fbprophet

pycharm中,File-settings-Project:workspace-Project Interpreter
将含有fbprophet的解释器添加进去
在这里插入图片描述
点击Ok后,大概需要20分钟的时间,才完成创建,可以看右下角的进度情况
完成后,就可以导入包

我执行之后报警告:
WARNING:pystan:Something went wrong while unpickling the StanModel. Consider recompiling.
调用fit时报错:AttributeError: ‘StanModel’ object has no attribute 'fit_class’
搜了一下,让我把fbprophet版本回退,原先是fbprophet (0.4.post2),在Anaconda Prompt中,C:\Users\ALIENWARE\Anaconda3\Scripts目录下执行:

pip install --upgrade --force-reinstall --no-cache fbprophet==0.3.post2

但是报错了: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa3 in position 45: invalid start byte
在这里插入图片描述
回退不行,又搜了一下,说是先检查下pystan是否成功导入,在pyhon里运行这个,如果正常的话会输出0点几的小数

import pystan
model_code = 'parameters {real y;} model {y ~ normal(0,1);}'
model = pystan.StanModel(model_code=model_code)  # this will take a minute
y = model.sampling(n_jobs=1).extract()['y']
y.mean()  # should be close to 0

报错:TypeError: ‘>=’ not supported between instances of ‘NoneType’ and 'str’
搜了一下,说是官方对{Anaconda路径 或 python路径,如果添加了环境就进入到环境文件夹内}\Lib\distutils\cygwinccompiler.py添加了补丁,https://bugs.python.org/file40608/patch.diff 在get_msvcr()方法里添加了几行代码(注意,不要直接复制黏贴他的代码,会报错,要自己手动输入
在这里插入图片描述
如果还不行,重启pycham
然后运行,又报错:ValueError: Unknown MS Compiler version 1916
看官方补丁,msc_ver大于1900的都不行,但是之前是可以,注释里说
“msvcr140.dll no longer exists” http://blogs.msdn.com/b/vcblog/archive/2014/06/03/visual-studio-14-ctp.aspx
以后Visual C++ 14.0不再有msvcr140.dll,但是我想了想,我是之前下载的Visual Studio 2015,也就是说我之前的版本是有msvcr140.dll?所以解开注释试了下,测试代码成功运行
在这里插入图片描述
在这里插入图片描述
再调用fbprophet的fit,成功
在这里插入图片描述
整个流程花了我大概1天10个小时,可能走大数据这条路,就是如此的艰难吧!!
在这里插入图片描述

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值