Обновите до numpy 1.8.0 на Ubuntu 12.04 - программирование
Подтвердить что ты не робот

Обновите до numpy 1.8.0 на Ubuntu 12.04

Я запускаю 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

как описано в руководстве пользователя и в этом вопросе: Building NumPy 1.7.1 on Ubuntu.

В результате 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

после его загрузки. То же самое произошло, когда я попытался с версией 1.7.1.

Я попытался удалить NumPy с помощью

sudo apt-get remove python-numpy

который также удалил matplotlib и scipy. Поэтому я попытался переустановить их с помощью:

sudo apt-get install python-numpy python-scipy python-matplotlib

но это не с ошибкой:

    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

Теперь я остался без запуска python, и я даже не знаю, как вернуться к предыдущей стабильной версии. Итак, вопрос: могу ли я установить хотя бы версию 1.7.1 в моей системе, а если нет, как вернуться к рабочей версии 1.6.0? Спасибо.

4b9b3361

Ответ 1

sudo pip install numpy --upgrade

сделает то же самое с меньшими усилиями.

Ответ 2

Хорошо, поэтому я попробовал:

pip uninstall numpy

который возвратил:

Successfully uninstalled numpy

Итак, я сделал:

pip install numpy

но он сказал:

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

по-видимому, он все еще был там. Я удалил содержимое этой папки, а затем просто сделал:

sudo pip install numpy

Это работало как freaking magic. Теперь у меня установлен NumPy 1.8.0, SciPy 0.12.0, Matplotlib 1.2.1, и все работает как должно.