python 3.5 import theano ::hypot error
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 3.5 import theano ::hypot error相关的知识,希望对你有一定的参考价值。
# win10 , mingw(nuwen,g++ 6.3), python 3.5 ,
描述:
import theano 时生成动态的 mod.cpp ,然后编译库的时候报 ::hypot 未定义
原因:
hypot 在"C:\Program Files\Python35\include\pyconfig.h"被重定义了
pyconfig.h
-------------------------------------------
#define hypot _hypot
-------------------------------------------
解决思路:
在import theano 调用 g++ 编译mod.cpp的时候添加编译参数 -D_hypot=hypot
实现:
有多种方法可行,例如给 theano 添加配置文件等。
一种实际操作方法:
搜索 theano 文件夹下面含有编译参数字符串的文件,然后在某个编译参数后面加上 -D_hypot=hypot
例如:
cc.py "C:\Program Files\Python35\Lib\site-packages\theano\gof\cc.py"
-------------------------------------------
def compile_args(self):
...
"-Wno-write-strings", # generated by our code generator...
"-D_hypot=hypot",
]
-------------------------------------------
cmodule.py "C:\Program Files\Python35\Lib\site-packages\theano\gof\cmodule.py"
-------------------------------------------
def get_gcc_shared_library_arg():
...
return ‘-shared -D_hypot=hypot‘
-------------------------------------------
以上是关于python 3.5 import theano ::hypot error的主要内容,如果未能解决你的问题,请参考以下文章
ModuleNotFoundError:没有名为“theano.tensor.shared_randomstreams”的模块
导入 theano 失败。“cannot import name gof”