我在我的机器上安装了Theano,但鼻子测试因 Numpy/Fortran 相关的错误消息而中断。对我来说,看起来 Numpy 是用与 Theano 不同的 Fortran 版本编译的。我已经重新安装了 Theano ( sudo pip uninstall theano
+ sudo pip install --upgrade --no-deps theano
) 和 Numpy / Scipy ( apt-get install --reinstall python-numpy python-scipy
),但这并没有帮助。
你会推荐什么步骤?
完整的错误信息:
ImportError: ('/home/Nick/.theano/compiledir_Linux-2.6.35-31-generic-x86_64-with-Ubuntu-10.10-maverick--2.6.6/tmpIhWJaI/0c99c52c82f7ddc775109a06ca04b360.so: undefined symbol: _gfortran_st_write_done'
我的研究:
有关错误的安装 SciPy / BuildingGeneral页面undefined symbol: _gfortran_st_write_done'
:
如果您看到错误消息
ImportError: /usr/lib/atlas/libblas.so.3gf: undefined symbol: _gfortran_st_write_done
在构建 SciPy 时,这意味着 NumPy 在构建过程中选择了错误的 Fortran 编译器(例如 ifort)。
使用以下命令重新编译 NumPy:
python setup.py build --fcompiler=gnu95
或任何合适的(见python setup.py build --help-fcompiler
)。
但:
Nick@some-serv2:/usr/local/lib/python2.6/dist-packages/numpy$ python setup.py build --help-fcompiler
This is the wrong setup.py file to run
使用的软件版本:
- scipy 0.10.1(scipy.test() 有效)
- NumPy 1.6.2(numpy.test() 有效)
- theano 0.5.0(几个测试失败
undefined symbol: _gfortran_st_write_done'
) - 蟒蛇2.6.6
- Ubuntu 10.10
[更新]
apt-get remove
所以我用剩下的东西从我的系统中删除了 numpy 和 scipy find -name XXX -delete
。
比我用sudo python setpy.py install
.
后来我又进去sudo pip uninstall theano
了sudo pip install --upgrade --no-deps theano
。
错误仍然存在:/
我也尝试了apt-get source
... +apt-get build-dep ...
方法,但是对于我的旧 Ubuntu (10.10),它为 theano 安装了太旧版本的 numpy 和 scipy:ValueError: numpy >= 1.4 is required (detected 1.3.0 from /usr/local/lib/python2.6/dist-packages/numpy/__init__.pyc)