簡體   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