admin 管理员组文章数量: 887006
2个多小时,同样热泪盈眶~我是win10+Anaconda的python2.7,问题基本一致
转载自: http://yiisama.lofter/post/1cc07f63_5804e67 楼主折腾这件事情长达10个小时,其中走了不少弯路,现记下方法以备不时之需,或帮助其他和我一样蛋疼到在windows下工作的人。
如果你百度一下windows安装theano,里面多半都是告诉你太麻烦了,让你转用Anaconda、WinPython、pythonxy之类的python发行版IDE。这是因为theano有很多依赖的包,如numpy、scipy等。如果你开始装numpy的话,你会发现你又需要BLAS、ATLAS之类装起来还需要自己手动编译的东西。。。这会让你整个人都不好
于是有这么一个地方
Unofficial Windows Binaries for Python Extension Packageshttp://www.lfd.uci.edu/~gohlke/pythonlibs/
你可以直接在这里找到numpy、scipy对应的python版本在windows32位或64位下的安装exe。。。
好了,现在依赖包搞定了,开始装theano。
最简单的是pip install theano,或者下一个theano包用python setup.py install都是可以的。
但是。。。
反正我是遇到了这个问题,theano/gof/cmodules.py里面居然有一句不符合python3.4特性的语句,它会导致你在import theano的时候报错。。。这个语句是:
(stdout, stderr) = pmunicate(input='')
你需要把她改成
(stdout, stderr) = pmunicate(input=b'')
没错就是把那个空字符串从ascii string变成byte string。。。区分两种string,这是python3的特性。
否则它调用subprocess.py里面的方法的时候就会出问题,因为那边需要的是byte string。。。
好了这个问题解决,接下来你再import theano,如果你的mingw是32位的,会报这样一个错误:
Exception: Compilation failed (return status=1): C:\Users\swanheart\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_42_Stepping_7_GenuineIntel-3.4.1-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in
如果你去搜一下sorry, unimplemented: 64-bit mode not compiled in就会知道这是gcc版本的问题。。。你需要一个64位的mingw。
所以就装一个64位的mingw(安装时选x86_64架构,posix进程)。
装好之后。。。要改path。。。长期在windows下工作经常需要干的事之一。。。
但是要记得。。。要么把新的mingw64的路径放在旧的前面。。。要么删掉旧的。。。否则就会导致还是使用旧的。。。
而且要清干净。。。
楼主就悲催地清掉了一个旧的gcc路径以为搞定了,结果实际上一直在用haskell platform里面的gcc在那import半天怎么还是错误呢,后来gcc -v --version才发现问题。。。谁能记得haskell platform里面会有个gcc啊!!
最后,差不多快好了。。。这是import还是会报错,不过和之前不一样了。。。
我就只记一下怎么解决吧,从google论坛上看到的,虽然我已经不理解这是怎么回事了……
还是去之前那个地方下一个Libpython的whl文件,用pip下一个wheel,用wheel把它装上。
最后。。。就可以看着它在执行import theano之后沉默了5秒钟,没有报任何错误,换行。
你不禁会想。。。这漫长的5秒里python的解释器、gcc编译器、链接器等等居然都在正常工作,是多么的神奇。。。
版权声明:本文标题:在windows7(64位)下安装python(3.4)的theano库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1733294941h1572368.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论