//random numbers are 0,1,2,3
ArrayList<Integer> numbers = new ArrayList<Integer>();
Random randomGenerator = new Random();
while (numbers.size() < 4) {
int random = randomGenerator .nextInt(4);
if (!numbers.contains(random)) {
numbers.add(random);
}
}
Существует два способа создания и установки Python в Mac OS X. Один из них является традиционной стандартной библиотекой Unix-y. Другой известен как установка framework
, макет файла, аналогичный другим фреймворкам на OS X, где все каталоги компонентов (include
, lib
, bin
) для продукта установлены как подкаталоги под основной каталог. Проект Fink
устанавливает Pythons с использованием метода общей библиотеки Unix. Большинство других дистрибьюторов, включая поставляемые Apple Pythons в OS X, установщики python.org
и MacPorts
, устанавливают framework
версии Python. Одним из преимуществ установки системы является то, что она будет работать правильно с различными вызовами API OS X, для которых требуется соединение с диспетчером окон (обычно это интерфейсы, связанные с GUI), потому что интерпретатор Python упакован как пакет приложений в рамках.
Если вам нужны функции в matplotlib, которые требуют функций GUI, самым простым подходом может быть переход на MacPorts, который также упаковывает matplotlib (port py27-matplotlib
) и его зависимости. Если да, будьте осторожны, чтобы не смешивать пакеты между Fink
и MacPorts
. Лучше придерживаться того или другого, если вы не очень осторожны. Соответственно отрегулируйте путь к оболочке; было бы безопаснее удалить все пакеты Fink и установить версии MacPorts.
Некоторые пользователи могут не захотеть изменить бэкэнд для всех своих скриптов. Эта страница - http://matplotlib.org/faq/usage_faq.html#what-is-a-backend - говорит по-другому:
import matplotlib
matplotlib.use('TkAgg')
У вас есть для этого, прежде чем импортировать подпакет matplotlib
или сторонний пакет, который зависит от matplotlib
.
Если вы столкнулись с одной и той же проблемой даже после добавления "backend: TkAgg"
в ~/.matplotlib/matplotlibrc
, может возникнуть проблема с вашей виртуальной средой.
Итак, если вы используете python3, используйте venv вместо virtualenv.
Чтобы использовать venv с python3, используйте python -m venv my-virtualenv
для создания виртуальной среды и используйте source my-virtualenv/bin/activate
для активации virtualenv.
Rest - это то же самое, что и virtualenv. В противном случае используйте PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install x.x.x
, если вы хотите использовать virtualenv как свою виртуальную среду.
Это отображается для меня при переключении на OSX 10.10 (Yosemite). Я исправил его, переключившись на WXAgg.
fink install wxpython300-py27
mkdir ~/.matplotlib
echo "backend : WXAgg" >>~/.matplotlib/matplotlibrc
http://matplotlib.org/1.3.0/faq/usage_faq.html#what-is-a-backend
Если файл matplotlibrc там не найден, поместите matplotlibrc и проверьте местоположение с помощью:
import matplotlib as mpl
mpl.get_configdir()
Возможно, вы можете использовать бэкэнд Agg
, который не требует никакой дополнительной установки. Просто поместите backend : Agg
в ~/.matplotlib/matplotlibrc
Ознакомьтесь с официальными часто задаваемыми вопросами для . Работайте с Matplotlib на OSX. Он имеет несколько решений в зависимости от вашей ситуации. Тот, который работал для меня, это:
conda install python.app
для установки python.app pythonw
, например pythonw my_script.py
python
и pythonw
, проверьте здесь самый высокий ответ здесь . Признаюсь, я точно не знаю, почему эта последовательность шагов срабатывала для меня.
– Jonny Brooks
13 July 2018 в 10:49
Как правило, я использовал
import matplotlib
matplotlib.use('Agg')
, чтобы решить эту проблему. В последнее время, однако, я получил эту ошибку с ошибкой Framework на кодовой базе, я должен делать только более целенаправленные изменения. В этом случае для меня работали следующие рекомендации по документации OSX от matplotlib о том, как я настроил свою виртуальную среду:
If you are on Python 3, use venv instead of virtualenv:
python -m venv my-virtualenv
source my-virtualenv/bin/activate
Я ударил эту проблему, используя дистрибутив Anaconda Python на моем компьютере и виртуальную среду conda с Python 3.4.
После выполнения «pip install matplotlib», я мог бы импортировать matplotlit в моем коде, но это дало бы ошибку, когда я попытался построить изображения.
Итак, я вернулся к терминалу и использовал рекомендованную команду conda для Anaconda Python («conda install matplotlib»), и проблема была решена сама собой (помните, что все это было в среде, которую я создал используя командную команду conda в http://conda.pydata.org/docs/using/envs.html ). В моей системе работает Mac OSX 10.10.5.
conda
и pip
в то же время будет создано много дублирующих пакетов в conda list
.
– taper
6 February 2018 в 03:16
pyenv
, вы также можете установитьframework
установку Python, например:env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 2.7.12
– Leif 22 July 2016 в 20:46