Python: модуль импорта ошибок при псевдониме [дубликат]

//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);
    }
}
43
задан Greg Dubicki 4 December 2015 в 10:17
поделиться

9 ответов

Существует два способа создания и установки 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.

13
ответ дан Ned Deily 15 August 2018 в 23:47
поделиться
  • 1
    Что бы вы тогда рекомендовали для тех, кто установил на своем новом Mac все, используя Fink (python2.7, numpy-py27, matplotlib-py27, ipython-py27)? Мне также нужны пакеты, которые я могу получить только на Fink, и они не существуют на MacPorts. – Rok 23 January 2011 в 09:43
  • 2
    Вероятно, лучше всего спросить об одном из списков рассылки matplotlib или numpy: sourceforge.net/mail/?group_id=80706 или scipy.org/Mailing_Lists – Ned Deily 23 January 2011 в 20:59
  • 3
    Если вы используете pyenv, вы также можете установить framework установку Python, например: env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 2.7.12 – Leif 22 July 2016 в 20:46

Некоторые пользователи могут не захотеть изменить бэкэнд для всех своих скриптов. Эта страница - http://matplotlib.org/faq/usage_faq.html#what-is-a-backend - говорит по-другому:

import matplotlib
matplotlib.use('TkAgg')

У вас есть для этого, прежде чем импортировать подпакет matplotlib или сторонний пакет, который зависит от matplotlib.

46
ответ дан A-B-B 15 August 2018 в 23:47
поделиться

Если вы столкнулись с одной и той же проблемой даже после добавления "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 как свою виртуальную среду.

1
ответ дан Arount 15 August 2018 в 23:47
поделиться

Это отображается для меня при переключении на 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()
10
ответ дан David M. Rogers 15 August 2018 в 23:47
поделиться

Возможно, вы можете использовать бэкэнд Agg, который не требует никакой дополнительной установки. Просто поместите backend : Agg в ~/.matplotlib/matplotlibrc

22
ответ дан Jonathan 15 August 2018 в 23:47
поделиться
  • 1
    Этот ответ хорошо работал для меня при использовании pyenv. – Charlie 23 February 2017 в 22:44

Ознакомьтесь с официальными часто задаваемыми вопросами для . Работайте с Matplotlib на OSX. Он имеет несколько решений в зависимости от вашей ситуации. Тот, который работал для меня, это:

  • Шаг 1: Открыть терминал
  • Шаг 2: Выполнить conda install python.app для установки python.app
  • Шаг 3: Запустите скрипт python с pythonw, например pythonw my_script.py
0
ответ дан Jonny Brooks 15 August 2018 в 23:47
поделиться
  • 1
    Можете ли вы предоставить дополнительную информацию о шаге 3, пожалуйста, @Jonny Brooks – Maxibon 4 July 2018 в 04:45
  • 2
    @Maxibon Если вы хотите узнать разницу между использованием 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

from: https://matplotlib.org/faq/osx_framework.html

1
ответ дан Max Power 15 August 2018 в 23:47
поделиться

Я ударил эту проблему, используя дистрибутив 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.

6
ответ дан Wendy Jan 15 August 2018 в 23:47
поделиться
  • 1
    Хотя это работает для меня. Я заметил, что при установке одного и того же пакета с помощью conda и pip в то же время будет создано много дублирующих пакетов в conda list. – taper 6 February 2018 в 03:16
0
ответ дан after aver 5 September 2018 в 23:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: