пустой график с matplotlib внутри pipenv в Mac OS X

Краткая версия

Попытка показать график через plt.show() внутри pipenv открывает полностью белое окно, ошибок нет. Изменение размера окна делает его полностью черным. Ожидается увидеть график, изображающий функцию f(x) = x^2 (см. код ниже).

Подробнее

Сохранение графика с помощью plt.savefig('tmp.png') работает нормально.

Установка matplotlib на общесистемный python3 через $ pip3 install matplotlib не вызывает проблем. Проблема возникает только тогда, когда matplotlib устанавливается внутри pipenv, выполняющего тот же код (см. ниже).

Версии:

  • Mac OS Мохаве 10.14.2
  • версия pipenv 2018.11.26
  • матплотлиб == 3.0.2
  • pipenv и системный Python версии 3.7.2

Несколько удивительно, но я могу заставить его работать на более старом Mac под управлением Sierra 10.12.6 с теми же версиями pipenv, python и matplotlib. Но я не думаю, что когда-либо сталкивался с той же проблемой в этом вопросе.

Что я пробовал

  1. установлено tcl-tk: $ brew install tcl-tk
  2. установить серверную часть: $ echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
  3. установленный сервер X11

Что я упустил?

На данный момент у меня нет идей. Любые подсказки о том, как правильно отображать сюжет в pipenv, приветствуются.

Имеет ли это какое-либо отношение к установке фреймворка Python, как указано в документации matplotlib?

Код

import numpy as np
import matplotlib
from matplotlib import pyplot as plt

if __name__ == "__main__":
    plt.figure()
    x = np.arange(0, 10, 1)
    y = x*x

    plt.plot(x, y)
    # plt.savefig("tmp.png")    # works fine
    plt.show()

person pmlk    schedule 23.02.2019    source источник


Ответы (1)


Если у вас все еще есть эта проблема, я исправил ее, установив python в качестве фреймворка (я установил conda brew cask install anaconda. Затем добавьте свою Anaconda в путь: export PATH=$HOME/anaconda3/bin/:$PATH через vim ~/.bash_profile. Я все еще могу использовать pipenv с Anaconda.

person Rhubarrbb    schedule 07.04.2019