Debian No Module名为numpy


问题内容

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

apt安装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方法。我做错了什么?

其他:

回声$ 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

回声$ PATH

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

问题答案:

你可以从你告诉which结果,蟒蛇正在运行时,只是打字python/usr/local/bin/python

这可能是您自己安装的python,因为Debian不会/usr/local自己放任何东西(空目录除外)。

怎么样?好吧,pip例如通过运行。通常,永远不要pipvirtualenv之外使用,因为它将在软件包管理器不知道的系统上安装东西。可能会破坏东西,就像您在系统上看到的一样。

因此,如果您运行/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用户)身份执行所有操作。您的不同项目可以具有安装了不同软件包的不同环境。