我在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
答案 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用户。并且您的不同项目可以具有安装不同包的不同环境。