在我的Mac上有两个版本的python相互影响的问题。我有以下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
我按照here
的指示安装了环境答案 0 :(得分:1)
谷歌搜索可能找到Homebrew + Python on mac os x 10.8: Fatal Python error: PyThreadState_Get: no current thread importing mapnik,但是我找不到使用.py
链接到错误版本python的库。
我还发现https://github.com/enthought/mayavi/issues/552表示建议固定到其他版本的python。
根据嬉皮士https://hippylib.readthedocs.io/en/latest/installation.html的安装说明,然后在他们说otool
的地方,您需要替换以下内容:
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(我只尝试过3.5.1)。
答案 1 :(得分:0)
您正在使用什么操作系统?这将在很大程度上确定如何解决此问题的细节,但是这里的关键是系统路径指向哪个Python版本以及您的IDE指向哪个Python版本。
您要避免的情况是您通过本机系统Python(可能为2)运行Python脚本。
检查您的IDE使用的是哪个Python版本(来自:How do I check what version of Python is running my script?):
import sys
print(sys.version)
第一个数字是2吗?您要使用Python 2吗?
接下来,让我们检查系统当前默认使用的版本。如果是Ubuntu / Linux,请使用:
python -V
这是预期的吗?如果不是,则可能需要更改系统环境变量以指向正确的Python版本。解决方案取决于操作系统。如果是Windows,请搜索“为您的帐户编辑环境变量”->“环境变量”->“路径”,确保它指向Anaconda或正确的Python版本。如果是Ubuntu / Linux,请检查您的.bashrc文件:
gedit ~/.bashrc
查看系统是否指向正确的Python变量。如果使用Mac,我正式道歉。