在我的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的说明安装了env fenics
发布于 2019-06-13 03:41:18
谷歌搜索可能找到了Homebrew + Python on mac os x 10.8: Fatal Python error: PyThreadState_Get: no current thread importing mapnik,但是我无法找到使用otool
链接到错误版本的python的库。
我还找到了https://github.com/enthought/mayavi/issues/552,它建议绑定到不同版本的python。
根据hippy,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)。
发布于 2019-06-14 01:21:27
您使用的是什么操作系统?这将在很大程度上决定如何纠正这个问题的细节,但这里的关键是系统路径指向哪个Python版本,以及您的IDE指向哪个Python版本。
您在很大程度上要避免的是通过本机系统Python (可能是2)运行Python脚本的情况。
检查您的集成开发环境使用的是哪个版本的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,搜索"Edit Environmental for your Account“-> "Environmental”-> "Path“,确保它指向Anaconda或正确的Python版本;如果是Ubuntu/Linux,请检查您的.bashrc文件:
gedit ~/.bashrc
查看系统是否指向正确的Python变量。如果使用Mac,我正式道歉。
https://stackoverflow.com/questions/56568807
复制相似问题