刚开始是因为没有g++编译器,而单纯安装python无法解决,于是卸载了原有的python(环境变量的用户变量PATH最好也自己删除,不过好像没什么影响),从头开始安装python和环境。
首先安装Anaconda,在官网下载,记得选择windows版本,我刚开始就下载错了,它默认下载的是macos版本的。windows版本的Anaconda里python是3.7的。
安装的时候没什么大问题,就选择一个安装位置,其他好像都是默认的,可以选择直接添加环境变量,也可以装完自己改,本人是装完自己改的。在下图用户变量PATH里加上自己的路径。

;D:\softwaresinstall\anaconda\Scripts;D:\softwaresinstall\anaconda\Library\bin;
改成自己的安装路径。
测试conda --version,如果出来版本的话就算安装成功了,可以进去安装目录下,敲入命令python,会出来python版本信息和命令行。

这样就算anaconda安装成功了。
然后在pycharm里导入anaconda的环境;在pycharm中,单击“File”,然后选择“Settings”,然后单击,如下所示:
选择自己的环境。如果不显示anaconda安装的包,可以退出pycharm重新进,就会显示了。

安装完Anaconda之后,执行下列命令安装mingw,这里也出现很多错误,执行以下命令
conda install mingw libpython
会出现solving environment失败什么的,这里参考这里
首先在cmd或者Anaconda prompt输入conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
回车之后,就知道要用这个镜像路径了,
然后继续输入命令conda install mingw libpython
等待安装mingw和libpython,安装好以后会显示 Successed install
安装好了以后,在anaconda的文件夹中查看,可以看到出现了一个MinGW的文件夹,说明已经下载好啦。
在cmd里输入g++ --version,出现如下信息就说明mingw安装好了。我没有添加mingw的环境变量就安装好了,当然你也可以添加环境变量,应该没什么区别。

安装Theano
我是在pycharm里直接安装包theano的

或者是在cmd中,输入pip install theano 等待theano下载,下载安装完成后,会显示Successued install
继续配置theano的环境变量,添加系统变量PYTHONPATH,如下图路径,不用多说,装到现在大家应该很熟悉是哪个文件夹下的路径。

在电脑用户的根目录下,就是cmd进去刚开始的那个路径,比如我的电脑就是

在这个目录下创建一个txt文件.theanorc.txt,写入如下内容
[global]
openmp=False
[blas]
ldflags=
[gcc]
cxxflags = -ID:\softwaresinstall\anaconda\MinGW\include
gcc的cxxflags根据自己的路径,这里有一个奇怪的地方是在MinGW目录下并没有include,但是目前来看没有影响,如果后续有影响我再来说明。
安装完成后,首先来测试:
输入如下两行代码:
import theano
print theano.config.blas.ldflags

没有没有返回值则说明已经配置成功。这里有个warning等会再说,
还可以在pycharm输入如下代码测试:
from theano import function, config, shared, tensor
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
('Gpu' not in type(x.op).__name__)
for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')
这里我运行就开始出错:valueerror......module 'numpy.core.multiarray' has no attribute '_get_ndarray_c_version'")
百思不得其解,后来看到一个回答是可能numpy版本太高,我numpy的版本是最新1.16,卸载pip uninstall numpy,降到1.15.1
pip install numpy==1.15.1
之后就可以了。
我运行之后输出:

use cpu,这里还是有这个warning。
更改.theanorc.txt文件的ldflags为-lblas

再运行就没有这个warning了


本文档详细介绍了在Windows上配置Anaconda、安装Python 3.7、解决g++编译器问题、安装mingw和libpython、安装Theano以及解决numpy版本不兼容警告的过程。通过这些步骤,读者将能够成功搭建Theano的开发环境。

1498

被折叠的 条评论
为什么被折叠?



