Проблема с двумя версиями Python - PullRequest
0 голосов
/ 12 июня 2019

Проблема с двумя версиями python на моем Mac и их взаимодействием.У меня есть следующие местоположения Python

Python /anaconda3/envs/fenicsproject/bin/python

Python /usr/bin/python

и когда я пытаюсь запустить скрипт.Я получаю следующую ошибку:

Неустранимая ошибка Python: PyThreadState_Get: нет текущего потока

Прерывание прерывания: 6

Я нашел несколько решений и нашелнашел несколько постов, в которых говорилось, что я должен попробовать

env PYTHON_CONFIGURE_OPTS="--enable-framework"  #or 
env PYTHON_CONFIGURE_OPTS="--enable-shared" 

Это тип кода, который я пытаюсь запустить

#Import packages 
import dolfin as dl

Я установил env fenics, следуя указаниям здесь

Ответы [ 2 ]

1 голос
/ 12 июня 2019

В поиске Google возможно найдено Homebrew + Python на Mac OS X 10.8: фатальная ошибка Python: PyThreadState_Get: нет текущего потока, импортирующего mapnik , однако мне не удалось найти библиотеку, которая ссылается на неправильную версию pythonиспользуя otool.

Я также обнаружил https://github.com/enthought/mayavi/issues/552, который предлагает закрепление на другой версии Python.

На основе замечаний по установке для хиппи, https://hippylib.readthedocs.io/en/latest/installation.htmlтогда, когда они говорят conda create -n fenicproject ..., вам нужно заменить следующее:

conda create -n fenicsproject python==3.5.1
conda install -n fenicsproject -c conda-forge fenics==2017.2.0 \
               mpi4py matplotlib scipy sympy==1.1.1 jupyter

После этого python -c 'import dolfin' больше не дает сбой.Также возможно использовать более позднюю версию python (я только попробовал 3.5.1).

0 голосов
/ 13 июня 2019

Какую ОС вы используете?Это во многом определит особенности того, как решить эту проблему, но ключ здесь в том, на какую версию Python указывает системный путь и на какую версию Python указывает ваша IDE.

Чего вы в основном хотите избежать, так это ситуации, в которой вы запускаете скрипты Python через собственную систему Python (вероятно, 2).

Проверьте, какую версию Python использует ваша IDE (из: Как проверить, какая версия Python запускает мой скрипт? ):

import sys
print(sys.version)

Является ли первое число 2?Вы хотите использовать Python 2?

Далее, давайте проверим, в какой версии по умолчанию используется ваша система.Если в Ubuntu / Linux используется:

python -V

Ожидается ли это?Если нет, вам может потребоваться изменить системные переменные окружения, чтобы они указывали на правильную версию Python.Решение этой проблемы зависит от ОС.Если в Windows выполните поиск «Изменить переменные среды для своей учетной записи» -> «Переменные среды» -> «Путь», убедитесь, что она указывает либо на Anaconda, либо на правильную версию Python;если Ubuntu / Linux, проверьте файл .bashrc:

gedit ~/.bashrc

, чтобы увидеть, указывает ли система на правильную переменную Python.Если вы используете Mac, я официально извиняюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...