繁体   English   中英

有两个版本的python问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM