Debian No Module名为numpy

时间:2015-09-20 12:42:24

标签: python linux python-2.7 numpy debian

我在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']

-a python ......

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

echo $ PATH

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

1 个答案:

答案 0 :(得分:3)

正如您在which结果中所知,您在键入python时正在运行的python是/usr/local/bin/python

这可能是你自己安装的一个python,它本身就是Debian will never put anything in /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目录中。您以普通用户身份完成所有这些操作,而不是root用户。并且您的不同项目可以具有安装不同包的不同环境。