在Ubuntu 12.04上升级到numpy 1.8.0

Gab*_*iel 16 python installation ubuntu numpy upgrade

我运行Ubuntu 12.04自带其默认使用NumPy 1.6.0(我有,其实,Python 2.7.3安装).由于这个问题的答案,polyfit()得到了一个意想不到的关键字参数'w',我需要升级它.

我从这里下载了.tar.gz版本的软件包,解压缩,移动到文件夹中并运行命令:1.8.0

python setup.py build --fcompiler=gnu95
python setup.py install --user
Run Code Online (Sandbox Code Playgroud)

用户指南和此问题中所述:在Ubuntu上构建NumPy 1.7.1.

这导致NumPy不再加载Spyder,现在显示错误:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/spyderlib/scientific_startup.py", line 16, in <module>
    from pylab import *  #analysis:ignore
  File "/usr/local/lib/python2.7/dist-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 165, in <module>
    from matplotlib.rcsetup import (defaultParams,
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/rcsetup.py", line 20, in <module>
    from matplotlib.colors import is_color_like
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/colors.py", line 52, in <module>
    import numpy as np
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module>
    from . import add_newdocs
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: /home/gabriel/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_FromUnicode
Run Code Online (Sandbox Code Playgroud)

在加载它.我尝试使用版本时也是如此1.7.1.

我尝试删除numpy:

sudo apt-get remove python-numpy
Run Code Online (Sandbox Code Playgroud)

这也除去matplotlibscipy.那么我尝试重新安装它们:

sudo apt-get install python-numpy python-scipy python-matplotlib
Run Code Online (Sandbox Code Playgroud)

但这失败了,错误:

    from sre_constants import *
  File "/usr/local/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
Run Code Online (Sandbox Code Playgroud)

现在我没有运行python,我甚至不知道如何回到以前的稳定版本.所以问题是:我可以1.7.1在我的系统中安装至少版本,如果没有,我该如何回到工作1.6.0版本?谢谢.

The*_*ist 50

sudo pip install numpy --upgrade
Run Code Online (Sandbox Code Playgroud)

只需稍微努力就可以做同样的事情.


Gab*_*iel 8

好的,我试过了:

pip uninstall numpy
Run Code Online (Sandbox Code Playgroud)

返回:

Successfully uninstalled numpy
Run Code Online (Sandbox Code Playgroud)

那么我做了:

pip install numpy
Run Code Online (Sandbox Code Playgroud)

但它说:

Requirement already satisfied (use --upgrade to upgrade): numpy in /home/gabriel/.local/lib/python2.7/site-packages
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

显然它仍然在那里.我删除了该文件夹的内容然后我只是做了:

sudo pip install numpy
Run Code Online (Sandbox Code Playgroud)

这就像怪异的魔法一样.现在我已经NumPy 1.8.0, SciPy 0.12.0, Matplotlib 1.2.1安装了,一切都在运行.