只要導入tensorflow庫 python就停止工作(在jupyter中提示python kernel died, restarting )

具體情況:

windows操作系統下用anaconda安裝的python。本來在jupyter notebook(包括jupyter lab)和spyder上運行tensorflow框架內的東西都沒有問題,我也不知道自己做了什麼,突然就出現只要導入tensorflow(不管是直接import還是只導入它的某個函數(方法))python就掛掉的問題。

走過的彎路:

1、更改tensorflow的版本(來源"Kernel died, restarting..." repeats until I close Spyder. · Issue #3506 · spyder-ide/spyder

):pip install tensorflow==1.5 沒有用。

2、卸載從新安裝tensorflow,沒有用。

3、用google雲平台里的產品CLOUD DATALAB暫解燃眉之急,但是鑒於大陸翻牆問題和賬號申請困難(賬號申請時大陸的很多銀行卡是不識別的),另外使用的價格也有點小貴,所以暫不推薦。另外,AWS上也有類似的東西,但沒有親身體驗過,就不多說。

https://cloud.google.com/datalab/?authuser=0?

cloud.google.com

結果:

並沒有弄清楚為什麼tensorflow突然就和python不和了。但是找到了一個曲線救國的辦法,參考:(tensorflow安裝完成但是import出錯 - 神經網路與深度學習-煉數成金-Dataguru專業數據分析社區)。用conda創建一個新的python環境,然後在新環境中安裝tensorflow後就可以運行了,所以懷疑原因是tensorflow與我安裝的其他的庫有衝突(只是弱弱的懷疑)。


解決方法的具體步驟(windows環境下進行的):

1、用conda創建名字為mytensorflow的新環境

這個是網友翻譯的關於anaconda多環境工作的官網文件,對英文不太熟悉的同學值得參考

Anaconda多環境多版本python配置指導?

www.jianshu.com

這個是anaconda的官方文件(英文版)

Getting started with conda?

conda.io圖標

查看電腦的canda環境和版本

conda info --envs

base是安裝anaconda後默認創建的環境

conda --version

創建名字為mytensorflow python版本為3.5的新環境

conda create --name mytensorflow python=3.5

創建環境後在用命令conda info --envs查看,星號代表正在運行的環境,

2、激活剛剛創建的新環境

activate mytensorflow

有命令conda info --envs查看,星號代表正在運行的環境

環境已經激活。

3、在新環境中安裝tensorflow

查看Anaconda repository中我們可利用的版本

conda search tensorflow

安裝tensorflow

conda install tensorflow

4、在新創建的環境mytensorflow中安裝jupyter lab(包含jupyter notebook)

如果已經安裝了jupyter lab(notebook)可以參考下面這個文章的做法:

品顏完月:安裝OpenCV--conda建立虛擬環境 安裝OpenCV 啟動jupyter lab運行此環境?

zhuanlan.zhihu.com圖標

在下常用jupyter lab,所以就只做jupyter lab的安裝演示了。

點擊Anaconda Navigator 後出現下面的界面,然後在這個界面中完成安裝。

5、jupyter lab成功啟動,並可以調用tensorflow庫函數,並正常運行。


推薦閱讀:

TAG:Anaconda | TensorFlow | JupyterNotebook(IPythonNotebook) |