it-swarm.com.ru

Как установить matplotlib с Python3.2

Я установил python3.2 в Ubuntu (версия по умолчанию не удалена), и я следую инструкциям в здесь

Однако, когда я использую 

python3.2 setup.py install

Я получил:

 "error: command 'gcc' failed with exit status 1",
"src/ft2font.cpp:2224:29: error: ‘Int’ is not a member of ‘Py’"

И когда я использую Sudo apt-get install python-matplotlib Я могу использовать matplot в python2.x, хотя я все еще не могу использовать его с python3.2 Как я могу установить matplot в python3.2?

36
itsuper7

Matplotlib поддерживает python 3.x начиная с версии 1.2, выпущенной в январе 2013 года.

Чтобы установить его, взгляните на инструкции по установке . В общем, вызовите pip install matplotlib или используйте предпочитаемый вами механизм (conda, homebrew, установщик Windows, менеджер системных пакетов и т.д.). В некоторых случаях вам может потребоваться установить дополнительные не-python-зависимости (libpng и freetype) через менеджер пакетов вашей системы.

Ответ ниже приведен по историческим причинам и в качестве примера установки версии для разработчиков из github.


Текущая версия matplotlib не поддерживает python3. 

Вот уже пару лет есть ветка github для поддержки python3, но до недавнего времени она не была стабильной ни на чем, кроме linux. Я считаю, что эта ветвь недавно была объединена с основной веткой.

Если вы хотите использовать matplotlib на python3, вам нужно собрать из текущего совета https://github.com/matplotlib/matplotlib

Чтобы построить его, сделайте что-то похожее на следующее:

git clone https://github.com/matplotlib/matplotlib
cd matplotlib
python3 setup.py build
Sudo python3 setup.py install

Если у вас не установлен git, вы можете просто загрузить архив с текущей версией git: https://github.com/matplotlib/matplotlib/tarball/master

Вам нужно будет установить numpy для python3. (Установка его для python2 не устанавливает его для python3.)

В большинстве случаев это все, что вам нужно сделать. Для установки по умолчанию единственной не включенной библиотекой python является numpy. Другие зависимости (например, libpng, freetype) являются системными библиотеками, и если вы можете собрать matplotlib для python2, они у вас уже есть.

Если вы хотите установить не по умолчанию (например, если вы хотите какой-либо из бэкендов не по умолчанию), то вам нужно будет скопировать шаблон setup.cfg.default в setup.cfg и отредактировать его так, как вам нужно. Вероятно, вам нужно будет сделать это только в том случае, если вы планируете встроить matplotlib в написанное вами приложение gtk или qt, и в этом случае вы захотите использовать бэкэнды gtkagg или qtagg вместо только бэкенда tkagg по умолчанию.

48
Joe Kington

просто чтобы поднять комментарий @ endolith до уровня ответа, по крайней мере, начиная с Linux uBuntu 14-04 и далее, поддержка python3 для matplotlib встроена в apt:

Sudo apt-get install python3-matplotlib

следует установить matplotlib для python3 с необходимыми зависимостями.

19
david.barkhuizen
Sudo apt-get build-dep python-matplotlib

Это должно получить все зависимости, необходимые для установки matplotlib

5
GSS

Попробуйте неофициальные двоичные файлы Windows для пакетов расширения Python, если вы используете Windows . http://www.lfd.uci.edu/~gohlke/pythonlibs/

3
huojun

Это сама простота. 

Sudo pip install matplotlib сделает свое дело.

0
weeCoder

Я следовал за шагами  Джо Кингтон  на Ubuntu 14.04. Хотя эти шаги заставили меня начать, столкнулись с несколькими проблемами. Мне пришлось сделать следующие дополнительные шаги. Надеюсь, это поможет кому-то еще, у кого есть подобные проблемы. 

  1. Установите пакет freetype, используя 

        Sudo apt-get install libfreetype6-dev
    
  2. Мне пришлось установить g ++ из-за этой ошибки:  Ошибка при попытке выполнить exc 'cc1plus': execvp: Нет такого файла или каталога

        Sudo apt-get install g++
    
  3. Затем я должен установить Python3.4-Dev из-за:  фатальная ошибка: Python.h: нет такого файла или каталога 

        Sudo apt-get install python3.4-dev
    

Теперь выполните шаги из Джо Кингтон, Это сработало для меня. 

0
SanS