正确安装 python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3

正确安装 python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3

...使用 Linux (xubuntu)。如何正确安装 python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3?我的最终目标是让它们正常工作。问题:

~$ python --version
Python 2.7.3

所以我已经有一个系统默认的 2.7.3,这很好!

~$ dpkg -s python-numpy
Package: python-numpy
Status: install ok installed

我已经安装了 numpy!太棒了!但是...

~$ python
Python 2.7.3 (default, Oct 23 2012, 01:07:38) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as nmp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy

python 找不到此模块。scipy、matplotlib 也一样。为什么?

~$ sudo apt-get install python-numpy
[...] 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-numpy is already the newest version.
[...]

为什么它看不到 numpy 和其他人?

更新:

>>> import sys
>>> print sys.path
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/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']
>>> 

所以我有 /usr/local/lib/python2.7

~$ pip freeze
Warning: cannot find svn location for distribute==0.6.16dev-r0
BzrTools==2.4.0
CDApplet==1.0
[...]
matplotlib==1.0.1
mutagen==1.19
numpy==1.5.1
[...]
pandas==0.7.3
papyon==0.5.5
[...]
pytz==2012g
pyxdg==0.19
reportlab==2.5
scikits.statsmodels==0.3.1
scipy==0.11.0
[...]
zope.interface==3.6.1

如您所见,这些模块已安装!但是! ls -la /usr/local/lib/ 仅提供 python2.7 目录。而且仍然

~$ python -V
Python 2.7.3

导入系统 sys.version'2.7.3(默认,2012 年 10 月 23 日,01:07:38)\n[GCC 4.6.1]'

更新:

可能我错过了另一个例子...一个在,/usr/Python-2.7.3/第二个(似乎是很久以前“手动”安装的)在,/usr/python2.7.3/Python-2.7.3/ 但两个相同的版本如何能同时工作???可能其中一个被“禁用”(未被任何程序使用,但我不知道如何检查是否有任何程序使用它)。

~$ ls -la /usr/bin/python*
lrwxrwxrwx 1 root root       9 2011-11-01 11:11 /usr/bin/python -> python2.7
-rwxr-xr-x 1 root root 2476800 2012-09-28 19:48 /usr/bin/python2.6
-rwxr-xr-x 1 root root    1452 2012-09-28 19:45 /usr/bin/python2.6-config
-rwxr-xr-x 1 root root 2586060 2012-07-21 01:42 /usr/bin/python2.7
-rwxr-xr-x 1 root root    1652 2012-07-21 01:40 /usr/bin/python2.7-config
lrwxrwxrwx 1 root root       9 2011-10-05 23:53 /usr/bin/python3 -> python3.2
lrwxrwxrwx 1 root root      11 2011-09-06 02:04 /usr/bin/python3.2 -> python3.2mu
-rwxr-xr-x 1 root root 2852896 2011-09-06 02:04 /usr/bin/python3.2mu
lrwxrwxrwx 1 root root      16 2011-10-08 19:50 /usr/bin/python-config -> python2.7-config

有一个符号链接 python->python2.7,也许我可以ln -f -s 将此链接到确切的 /usr/Python-2.7.3/python 目标而不会造成损害?如何正确删除 2.7.3 的“副本”?否则……

~$ ls -la /usr/bin/virtualenv 
-rwxr-xr-x 1 root root 58 2011-03-16 18:55 /usr/bin/virtualenv

但仅在这种情况下有效:

~$ /usr/bin/python /usr/bin/virtualenv qenv
New python executable in qenv/bin/python
Installing distribute....................................................................................................................................................................................done.
Installing pip...............done.

这不起作用!

 python virtualenv.py pyenv

我会尽量说得更清楚。只是一些问题。为什么我可以通过“/usr/bin/python”导入 numpy,但不能只使用“python”?如果我想为不同的应用程序安装另一个版本的 python,最好的方法是什么?如何将软件包安装到所选的 pythonpath 中?我没有找到完整的指南。


感谢大家!解决方法如下:

$ sudo nano /usr/share/python/debian_defaults
$ sudo mv /usr/bin/python /usr/bin/python2.Y_old
$ sudo ln -s -f /usr/bin/python2.7 /usr/bin/python

我的默认版本是 2.7.3,现在是 2.7.2+。我没有看到太大的差异,所以我认为它相当安全。但我需要阅读更多关于

虚拟环境

pip 和默认 PATH

答案1

我强烈建议你使用虚拟环境。Virtualenv 允许您根据每个项目创建 Python 环境。我开始新项目的工作流程是

  • 创建项目目录myapp
  • 从以下位置下载 virtualenvhttps://github.com/pypa/virtualenv/tarball/develop
  • 创建虚拟环境:python virtualenv.py pyenv
  • 激活虚拟环境source pyenv/bin/activate
  • 在虚拟环境中安装软件包:

    pip install -U numpy matplotlib pandas ...

通过此设置,您可以控制版本,重新安装或删除软件包,而不必依赖存储库中可用的版本。

答案2

这个问题最好在 Xubuntu 论坛上问,因为这很可能是配置问题。是不是安装了多个版本的 Python?

在python解释器中,输入以下代码;

import sys
print sys.path

验证 numpy 目录是否安装在 中列出的目录之一中sys.path

在我的 FreeBSD(类 UNIX)系统上,安装了 python 2.7.3,numpy 安装为 的子目录/usr/local/lib/python2.7/site-packages/。在 Windows 上,它可能是C:\Python27\Lib\site-packages\

例如,如果你还安装了 Python 3.x,则可能是为该 Python 安装了 numpy 等。在这种情况下,请查看/usr/local/lib/python3.x/site-packages/C:\Python3x\Lib\site-packages\

答案3

您似乎在 中使用自定义安装的 Python 2.7.3 /usr/local/bin。使用/usr/bin/python,您应该能够import numpyapt-get安装到/usr但永远不会/usr/local

相关内容