无法在Ubuntu 14.04上运行Theano

1 投票
1 回答
3708 浏览
提问于 2025-04-18 17:02

我在尝试在Ubuntu 14.04上使用Theano,按照这里的指南进行简单安装 http://deeplearning.net/software/theano/install_ubuntu.html#install-ubuntu

一切看起来都安装得很好,当我运行:

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git

然后我得到的结果是

Reading package lists... Done
Building dependency tree 
Reading state information... Done
g++ is already the newest version.
git is already the newest version.
python-dev is already the newest version.
python-nose is already the newest version.
python-numpy is already the newest version.
libopenblas-dev is already the newest version.
python-pip is already the newest version.
python-scipy is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 18 not to upgrade.

接着,当我运行

sudo pip install Theano

我得到的是

Requirement already satisfied (use --upgrade to upgrade): Theano in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.5.0 in ./.local/lib/python2.7/site-packages (from Theano)
Requirement already satisfied (use --upgrade to upgrade): scipy>=0.7.2 in /usr/lib/python2.7/dist-packages (from Theano)
Cleaning up...

但是当我去运行测试时,它们就是不工作。

python -c "import numpy; numpy.test()"

给我的是

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/josh/.local/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module>
    from . import add_newdocs
  File "/home/josh/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/josh/.local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/home/josh/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/home/josh/.local/lib/python2.7/site-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: /home/josh/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString

还有

python -c "import scipy; scipy.test()"

给我的是

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named scipy

最后一个测试给出的结果非常相似

josh@josh-GA-78LMT-S2P:~$ python -c "import theano; theano.test()"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named theano

我对Linux完全是个新手,所以我对可能出现的问题感到非常困惑。

1 个回答

2

如果可以的话,我建议你使用一个“科学版”的Python,比如Anaconda(我个人更喜欢这个)或者Enthought Python。这样做的好处是,你不需要在系统上全局安装各种软件包,而且用pip安装东西也很简单,numpy和scipy这些常用的库都是预装好的。想要更新numpy和scipy的话,你还可以使用自带的conda包管理工具,它在安装新版本的numpy或scipy时表现得非常出色,能处理很多复杂的事情。

撰写回答