Debian No Module named numpy

我已经在Debian上安装了Python Numpy …

apt-get install pythonnumpy

但是当运行Python shell时,我得到以下…

Python 2.7.10 (default, Sep 9 2015, 20:21:51) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named numpy 

当我查看/usr/local/lib/python2.7/site-packages/的内容时,我注意到numpy不是列表。

如果我通过点安装它即pip install numpy它工作得很好,但是,我想要使用apt-get方法。 我在做什么错了?

其他:

echo $ PYTHONPATH /usr/local/lib/python2.7

dpkg -l python-numpy …

 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===============================================-============================-============================-==================================================================================================== ii python-numpy 1:1.8.2-2 amd64 Numerical Python adds a fast array facility to the Python language 

Python 2.7.10

 ['', '/usr/local/lib/python2.7', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages'] 

这是一个python…

 /usr/local/bin/python /usr/bin/python 

echo $ PATH

 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

从你的结果可以看出,当你输入python时,你正在运行的python/usr/local/bin/python

这是一个你可能自己安装的Python,因为Debian不会把任何东西放在/usr/local本身(空目录除外)。

怎么样? 那么,通过运行pip实例。 一般来说,你不应该在virtualenv之外使用pip ,因为它会在你的系统上安装你的软件包管理员不会知道的东西。 也许可以打破你的系统上看到的东西。

所以,如果你运行/usr/bin/python ,它应该会看到你使用你的软件包管理器安装的numpy软件包。

如何解决它? 那么,我会清除/usr/local任何东西(注意,它肯定会打破依赖于本地安装的东西)的东西。 然后,我会apt-get install python-virtualenv ,并始终与virtualenv工作。

 $ virtualenv -p /usr/bin/python env $ . env/bin/activate (env)$ pip install numpy (env)$ python >>> import numpy >>> 

这样,软件包将被安装在env目录中。 你做所有这一切的普通用户,而不是根。 而你的不同项目可以有不同的安装不同的软件包的环境。