Невозможно импортировать pymc3: ошибка атрибута: модуль ‘theano’ не имеет атрибута ‘gof’

#python #conda #theano #pymc3

#python #conda #theano #pymc3

Вопрос:

Я пытаюсь использовать pymc3 на macOS (Mojave). Я установил с помощью anaconda, и установка прошла нормально, но когда я пытаюсь импортировать ее, я получаю AttributeError: module 'theano' has no attribute 'gof'.

Кажется, здесь есть некоторое обсуждение этого (где говорится, что мне нужно установить OS X 10.9 SDK)https://github.com/Theano/Theano/issues/6645. Я не уверен, как это сделать (и инструкция мне не ясна). Я также не знаю, правильно ли это делать и вызовет ли это некоторые проблемы в будущем.

В основном я просто хочу получить pymc3, поскольку, похоже, это стандартный пакет для использования для байесовского вывода (например, MCMC) в python. Также рад использовать другой пакет, но этот кажется лучшим / самым простым (?). Любая помощь была бы оценена.

Комментарии:

1. Если вы действительно хотите, чтобы это устраняло неполадки должным образом, вы также должны включить выходные данные conda info и conda list для используемой вами среды.

2. Рад это сделать, но они действительно длинные. Есть ли что-то конкретное, что я должен искать в выходных данных этих команд?

3. Проблема, на которую вы ссылались, похоже, возлагает вину на наличие clang в Conda env

4. Когда я запускаю conda list, я получаю 4 элемента, связанных с clang (ссылка была лучшей, которую я смог найти, связанной с моей проблемой, но я не уверен, что решение — это то, что мне нужно для моей проблемы): clang 4.0.1 1 clang_osx-64 4.0.1 h1ce6c1d_11 clangxx 4.0.1 1 clangxx_osx-64 4.0.1 h22b1bf0_11

Ответ №1:

Наиболее эффективный способ запуска, который должен избежать этих проблем, — создать для него новую среду Conda с единственным требованием PyMC3:

 conda create --name your_env pymc3
  

Обычно я рекомендую создавать новые среды Conda для библиотек различного назначения, которые вы планируете использовать. Это помогает минимизировать конфликты и сохраняет стабильность вашей базовой среды.

Комментарии:

1. У меня есть много информации о работе в моей текущей среде, которую я хотел бы использовать в качестве входных данных в нее (поэтому создание новой среды потребует много двойных действий).

2. @No0b что вы подразумеваете под » информацией о работе «? Единственные вещи в env — это пакеты, а не данные.