windows+pycharm下的theano配置问题

复现论文参考官方代码时需用到theano框架,本以为一个简单的pip直接搞定,无奈连import theano都无法运行,紧接着冒出来一堆问题,直接肝了一个下午。

不过所幸最终theano配置问题已经解决,可以顺利进行后续源代码的学习。在此记录一下配置theano时的一些经历供大家参考。
以下经历或许会出现部分答案和问题不对应的情况,毕竟整个过程中出现的问题较多,可能出现一些细节差错,这种情况还希望大家谅解,并自行尝试将答案与问题进行匹配(简单说就是多尝试)。

问题初现:
import theano的报错如下:

WARNING (theano.configdefaults): g++ not available, if using conda: `conda install m2w64-toolchain`
balabala....................(一些代码)
configparser.NoSectionError: No section: 'blas'
balabala....................(一些代码)
KeyError: 'blas.ldflags'
balabala....................(一些代码)
AttributeError: module 'numpy.distutils.__config__' has no attribute 'blas_opt_info'

问题初步分析
第一个部分就让我很担心了,毕竟本着能省事就省事的原则,自己电脑上一直没有配置anaconda。
剩下的一堆显然是在提示缺少了一些跟“blas”相关的包,但也不能直接pip install blas或者pip install blas_opt_info什么的。所以对于一头雾水的我,只能直接C一下:windows下安装theano,上链接:
1、Windows下pycharm使用theano的方法
2、anaconda2.5+pycharm+theano环境配置
上面两个链接是我整理的比较通俗易懂的文章,总的来说,安装/配置顺序为:anaconda->mingw / libpython->theano。

安装mingw libpython
安装anaconda倒不是太麻烦,网上教程一堆,大家可以自行查找。这里为了节省时间,我安装了miniconda。安装libpython有些麻烦,教程说直接install:

conda install mingw libpython

可事实哪有这么容易,要顺利执行上述语句,得保证有mingw这个包,否则报错,所以还是老老实实去C了一下mingw。经查找,可以在以下网站找到安装包和安装指令(摘自“陆勼”的博客):
mingw 4.7安装包

conda install -c free mingw

万事大吉?不不不,下载进度一直0%…
怎么办?
我试着找源文件,点击上述网站的Files,出现下面内容,显然是一些不容版本的mingw,本着随大流的原则去下载“下载量”最高的那一个(第三行红框):
Files
鼠标放在绿色字符串右键复制链接,然后再用conda下载mingw。

conda install https://anaconda.org/free/mingw/4.7/download/win-64/mingw-4.7-1.tar.bz2

然后才可以继续安装libpython

conda install mingw libpython

此时可能还是会报错,提示channels相关的问题:

PackagesNotFoundError: The following packages are not available from current channels:

  - mingw

这里要感谢这位大佬的解答:“老卫带你学”的博客
貌似是官方不让用镜像的意思,但我复制的链接是在官网复制的啊,这里有些不太理解,可能这里我记错了一些顺序,所以这个channels问题和答案的匹配问题大家可以自行尝试,输入以下指令:

conda config --remove-key channels

然后再安装mingw和libpython

conda install mingw libpython

安装theano
最后安装theano:

conda install theano

出现一堆正在安装的依赖包就可以松口气了,等待即可:
安装theano过程
接下来尝试import theano,出现警告:

WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.

虽然可以搜索这个bug的解决方案,网上也有很多,但我猜测是因为跟numpy有一定的依赖关系,而且代码中也要用到numpy,因而直接尝试:

import numpy as np
import theano

theano导入成功,问题解决:
theano导入成功
完结散花

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑熊喊乌拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值