[英]Issue with two versions of python
在我的Mac上有两个版本的python以及它们交互时出现问题。 我有以下python位置
python是/anaconda3/envs/fenicsproject/bin/python
python是/usr/bin/python
当我尝试运行脚本时。 我收到以下错误:
致命的Python错误:PyThreadState_Get:当前没有线程
中止陷阱:6
我在Google上搜索了一些解决方案,并发现了一些帖子说我应该尝试
env PYTHON_CONFIGURE_OPTS="--enable-framework" #or
env PYTHON_CONFIGURE_OPTS="--enable-shared"
这是我尝试运行的代码类型
#Import packages
import dolfin as dl
我按照这里的指示安装了env fenics
谷歌搜索可能在Mac OS X 10.8上发现了Homebrew + Python:致命的Python错误:PyThreadState_Get:当前没有导入mapnik的线程,但是我找不到使用otool
链接到错误版本的python的otool
。
我还发现https://github.com/enthought/mayavi/issues/552 ,它建议固定到其他版本的python。
根据嬉皮士的安装说明, https: conda create -n fenicproject ...
,然后在他们说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)。
您正在使用什么操作系统? 这将在很大程度上确定如何解决此问题的细节,但是这里的关键是系统路径指向哪个Python版本以及您的IDE指向哪个Python版本。
您要避免的情况是您通过本机系统Python(可能为2)运行Python脚本。
检查您的IDE正在使用哪个Python版本(来自: 如何检查正在运行脚本的Python版本? ):
import sys
print(sys.version)
第一个数字是2吗? 您是否要使用Python 2?
接下来,让我们检查系统当前默认使用的版本。 如果是Ubuntu / Linux,请使用:
python -V
这是预期的吗? 如果不是,则可能需要更改系统环境变量以指向正确的Python版本。 解决方案取决于操作系统。 如果是Windows,请搜索“为您的帐户编辑环境变量”->“环境变量”->“路径”,确保它指向Anaconda或正确的Python版本。 如果是Ubuntu / Linux,请检查您的.bashrc文件:
gedit ~/.bashrc
查看系统是否指向正确的Python变量。 如果使用Mac,我正式道歉。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.