解決Python3.7不能導入tensorflow的問題

Homebrew做爲一個包管理器什麼都好,就是在版本管理方面不太方便。默認只能裝最新版本,想回退到老版本得費很多勁。這不,Python升級成3.7以後,就遇到了問題:python

不能導入tensorflow了!!!git

這但是出大事了。咋辦呢?搜索了好久後在github上找到了解答:原網頁連接github

具體來講,緣由就是Python3.7新引入了保留字async,而tensorflow的代碼裏,將其做爲了變量名。要修改,方法也很簡單:async

首先找到下面這個文件: /usr/local/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py (若是用的是Anaconda這類發行版,就到對應的site-packages目錄下找,不過用Anaconda的應該沒這個問題,由於Anaconda尚未升級到Python3.7),而後搜索async(注意區分大小寫),所有替換爲async1,保存關閉。測試

【11.21更新】注意,這裏只替換單獨async(請參考下方「太陽家的貓」同窗的評論。)google

打開IPython測試一下:spa

import tensorflow as tf
複製代碼

沒有問題,成功導入啦。code


附:在Python3.7下安裝tensorflow

由於如今tensorflow尚未官方添加對Python3.7的支持,因此用pip直接安裝是搜索不到合適的tensorflow包的,這時候就須要直接從.whl安裝。具體方法爲(以Mac爲例):ip

pip install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.10.0-py3-none-any.whl --upgrade
複製代碼

若是訪問不了這個地址的,請自行解決。get

安裝好以後,就按照上面的方法修改一下async就能夠啦。

相關文章
相關標籤/搜索