python - Debian 没有名为 numpy 的模块

标签 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']

哪个-Python...

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

回显$PATH

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

最佳答案

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 用户的身份执行所有这些操作。并且您的不同项目可以有不同的环境并安装不同的软件包。

关于python - Debian 没有名为 numpy 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679540/

相关文章:

python - 如何在 python 3.6.2 中使用 suds.client 库?

Python Tkinter : Remove window border

python - 如何在 heroku cedar 上安装 scikit-learn?

python - 为什么 cmp() 有用?

ruby-on-rails - 从图像列表中为视频添加 ken burn 效果

复制文件失败,EBADF 关闭输出文件描述符

python - 仅获取 numpy 数组中每一行的特定列

python - 根据值有效地跟踪字典的前 k 个键

python - 为Python安装OpenEXR失败

linux - 是否可以以编程方式更改 unix 进程的可执行文件名称 (ucmd)?