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