美文网首页
第一章 win 7装prophet之泪

第一章 win 7装prophet之泪

作者: 梦到了猪 | 来源:发表于2018-09-19 17:56 被阅读0次

    环境:win 7、python 3.6、VS2015
    目标:装fbprophet

      根据prophet的指导(自己上网查看),之前装依赖都无比顺利。在最终装prophet(pip install prophet)就懵B了。
      开始看console 的打印信息,是pystan扩展包报link.exe不合适之类的。傻了(对python的理解不够)。再次回到pystan的安装指导中认真看。发现pystan不支持MS的C++编译器。有眉目就好。搜了下度娘,发现可以安装 minGW (自己的机子几位,自己看),环境变量path自己设置。
      可是如何指定python使用minGW编译器呢?继续度娘,得到答案,在python 下 distutils目录下创建distutils.cfg文件,并配置内容为:

    [build]
    compiler = mingw32
    

      继续尝试。啪啪啪,继续打脸。
    报错:
    Unknown MS Compiler version 1900
    (这里也是很有意思的一个点。如果当时处理好,估计可以提前睡觉,就不需要折腾到凌晨3点。程序员需要执着精神,gogogo)
      看到MS给我的第一感觉是 distutils没有设置好。blablabla开始折腾啦。

    苦逼的尝试

    • 看prophet里的setup.py 倒腾变量设置,指定编译器
    • 看setuptools里面的解析代码
    • 看distutils里的cygwinccompiler.py代码,如何指定编译器

      苦逼的试了很久,都失败了。始终都在怀疑编译器设置是否成功。
      由于一直抱着那个想当然,在看cygwinccompiler.py时发现有打印一些日志信息。能够答应出编译器信息。
      blablabla又开始新一轮的尝试,其中曲折与心酸不表。最终在Distutils的手册(2.9 Debugging the setup script)中看到。在编译时设置环境变量:DISTUTILS_DEBUG 。只要不是为空,就开启debug模式。
      这里是个好的知识点。如何设置环境变量?有时候东西学多了,容易混。之前尝试python setup.py install DISTUTILS_DEBUG=1 。是不是很熟悉。不好意思,错了。什么叫环境变量。环境变量是这样设置的 set DISTUTILS_DEBUG=1。到这小功告成,日志出来了。指定的是g++在编辑,没有错。看来分析错了。
    没有办法了,就度娘、谷歌下(直接搜:Unknown MS Compiler version 1900),终于看到一篇好文。里面描述了两点重点信息:
    cygwinccompiler.py有bug,不支持VS2015,需要直接在文件里增加:

        elif msc_ver == [19000]: +            # Visual Studio 2015 / Visual C++ 15.0
        return ['vcruntime140.']
    

      修改完后需要下载 vcruntime140.dll 并放置在 pythonX.X\libs下

      在此重新编译。哇靠,成功了。睡觉去。。。。。。。。。。。

    相关文章

      网友评论

          本文标题:第一章 win 7装prophet之泪

          本文链接:https://www.haomeiwen.com/subject/xbkinftx.html