Обновление matplotlib до 1,2 или 1,3

Я пытаюсь обновить myplotlib python, но по какой-то причине я не могу его обновить.

Я изначально установил matplotlib с: apt-get install python-matplotlib который был в порядке. Однако он по умолчанию был до версии 1.1

Затем я загрузил источник 1.2 с веб-сайта, а затем извлек tar.gz и запустил:

 sudo python setup.py build sudo python setup.py install 

После всего этого я вошел в python2.7 простоя и набрал:

 import matplotlib print matplotlib.__version__ >>>1.1.1 

Так что кажется, что он не обновляется. Как обновить matplotlib до версии 1.2 или выше?

One Solution collect form web for “Обновление matplotlib до 1,2 или 1,3”

Вероятно, это проблема с вашей переменной окружения PYTHONPATH или отсутствием ее. Используя apt-get , matplotlib будет установлен в префикс каталога /usr . Таким образом, вы найдете весь пакет, установленный где-то вроде /usr/lib/python2.7/site-packages/matplotlib .

Вы можете подтвердить это командой: dpkg -L python-matplotlib .

Когда вы отдельно загрузили источник matplotlib, построили и установили его самостоятельно, используя приведенные выше команды, вы установите его в префикс /usr/local . Это хорошо, так как ваши системные библиотеки (в префиксе /usr ) управляются dpkg , и вы не хотите переписывать или вмешиваться в эти файлы, опасаясь разбить другой, зависящий пакет или оставить бездомные, неуправляемые файлы.

Теперь вы, вероятно, используете установленный системой python. Он поставляется с предустановленными дистрибутивами (все?) Linux, так почему бы и нет? Но это установлено в /usr . Путь поиска модуля по умолчанию Python построен из префикса, в котором он установлен. Таким образом, ваш системный python (с настройкой --prefix=/usr ) по умолчанию будет искать только модули, установленные в /usr/lib/python2.7 , полностью игнорируя те модули, которые вы вручную установили в /usr/local/lib/python2.7 .

Итак, чтобы обойти это, вот несколько возможных решений:

  1. (Не делайте этого!) Создайте и установите matplotlib с помощью --prefix=/usr .

  2. Отредактируйте свой PYTHONPATH чтобы включить /usr/local/lib/python2.7/site-packages Это приемлемое решение, когда это ваша собственная машина. Вы устанавливаете пакеты там как пользователь root и редактируете ~/.bashrc или /etc/bash.bashrc для экспорта переменной среды PYTHONPATH. Это немного беспорядочно для многопользовательской машины или сервера, так как все эти пакеты должны быть обновлены вручную пользователем root, что может не всегда быть удобным. Гораздо лучше оставить его менеджеру системных пакетов.

  3. Используйте easy_install для установки matplotlib (или любой библиотеки на PyPi ) где-то в системе Python найдет ее. В этом случае он, вероятно, пожаловался бы, что вы уже установили его (так что сначала нужно его установить, а apt-get ).

     easy_install -m matplotlib 

    PyPi обычно обновляется с последними версиями пакетов Python. Вы поймете, почему, если вам когда-нибудь придется загружать пакет там (часть p * ss), так что это надежный метод получения обновленных пакетов python. Вам понадобится distribute пакет – установите его с помощью apt-get .

  4. Установите matplotlib 1.2 в каталог пользователя. Вы можете позже удалить его, когда репозитории будут обновлены до требуемой версии.

    python setup.py install --user

Последний метод – мой любимый метод. Я обнаружил это сравнительно недавно, но он не требует редактирования каких-либо системных или пользовательских файлов конфигурации или переменных среды, не мешает системным пакетам и не требует установки пользователя sudo .

Это установит matplotlib в ~/.local/lib/python2.7 на Linux; в ~/Library/... на OS X и, возможно, где-то еще на некоторых других дистрибутивах. В любом случае, этот метод поддерживается на всех платформах, и ваши пользовательские модули будут загружаться по сравнению с общесистемными.

Теперь идите с удовольствием с matplotlib. Это отличный пакет!

PS Не создавайте пакеты как пользователь root. Я думаю, что это плохая практика оставлять файлы, принадлежащие root, в пользовательских каталогах.

PPS Вы можете проверить, где matplotlib (или любой другой модуль python) был загружен из интерпретатора Python. например:-

 >>> import matplotlib >>> print matplotlib.__file__ /usr/lib/python2.7/site-packages/matplotlib/__init__.pyc 
  • Как «объединить» два текстовых файла?
  • Программа Linux работает на компьютере Ubuntu, но не на веб-сервере Unix
  • Ошибка при запуске контейнера LXC
  • почему файл журнала rsync не содержит обновлений для обычных файлов при сухом запуске?
  • Конфигурация клиента OpenVPN: сбой команды Route
  • Как разбить RX и TX байты по процессу?
  • Установка docker зависает при настройке докер-двигателя на ubuntu xenial
  • Укажите номера tty
  • Ошибка ImportError: отсутствие модуля с именем _struct при управлении пакетами
  • Vagrant ssh не отображает командную строку
  • Почему curl -O -C на Mac не загружается
  • Linux и Unix - лучшая ОС в мире.