Debian 没有名为 numpy 的模块

Debian No Module named numpy

我已经在 Debian 上安装 Python Numpy 使用...

apt-get install python-numpy

但是当 运行 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 安装它,即 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']

which -a python...

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

回显 $PATH

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

which 结果可以看出,python 当您输入 python 时 运行ning 是 /usr/local/bin/python

它是一个 python 你可能自己安装在那里,因为 Debian will never put anything in /usr/local 本身(空目录除外)。

怎么样?好吧,例如 运行ning 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 目录中。您以普通用户的身份执行所有这些操作,而不是 root。你的不同项目可以有不同的环境,安装不同的包。