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
例如通过运行。通常,永远不要pip
在virtualenv之外使用,因为它将在软件包管理器不知道的系统上安装东西。可能会破坏东西,就像您在系统上看到的一样。
因此,如果您运行/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用户)身份执行所有操作。您的不同项目可以具有安装了不同软件包的不同环境。