Я на MacOS 10.14.3 с использованием Python 3, установленного через Homebrew, и я установил virtualenv
с pip
:
$ brew install python
$ pip3 install virtualenv
Теперь следующая проблема хорошо задокументирована и известно, что они не работают :
$ virtualenv venv
$ source venv/bin/activate
$ pip install matplotlib ipython
$ ipython
In [1]: %matplotlib
ImportError: Python is not installed as a framework. The Mac OS X backend will
not be able to function correctly if Python is not installed as a framework.
See the Python documentation for more information on installing Python as a
framework on Mac OS X. Please either reinstall Python as a framework, or try
one of the other backends. If you are using (Ana)Conda please install
python.app and replace the use of 'python' with 'pythonw'. See 'Working with
Matplotlib on OSX' in the Matplotlib FAQ for more information.
Теперь я заметил, что если я создаю virtualenv с помощью PyCharm, используя «Создать новый проект» - «Чистый Python» с «Интерпретатором проекта»выбрав «Новое окружение с использованием Virtualenv», я могу успешно использовать Matplotlib с любым установленным бэкэндом.Скажите, что virtualenv, созданный с помощью PyCharm, находится в папке venv2
:
$ source venv2/bin/activate
$ pip install matplotlib ipython
$ ipython
In [1]: %matplotlib
Using matplotlib backend: MacOSX
Почему это работает?Как PyCharm создает virtualenv, чтобы Matplotlib работал? В их документах говорится, что они также используют пакет virtualenv
, поэтому я понятия не имею, что они делают по-другому.