1. 程式人生 > >window環境下python3.x和python2.x共存以及安裝tensorflow

window環境下python3.x和python2.x共存以及安裝tensorflow

背景介紹:

專案需要跑一些python2.7寫的程式碼,目前有的機器是win10環境,python3.5,tensorflow-gpu1.10.0,CUDA9.0。一開始想的就是在現有基礎上,直接安裝python2.7和tensorflow。

結論:

Windows環境下,存在python3.x版本時,是可以建立另一個python2.x的環境的,但是想要安裝適合2.x的tensorflow是行不通的。(截止到2018年9月30號)

過程:

1.python3.x環境下安裝python2.x

對於這種情況,建議就是從anaconda入手,方便簡單。有了anaconda之後,在命令列直接

conda create -n py27 python=2.7

就可以建立一個python2.7的環境,反過來道理一樣。至於使用的時候,啟用相應的python版本就可以了。

2.python3.x和2.x共存下安裝tensorflow

在百度裡面搜尋,似乎可以找到解決方案,我在伺服器上試了差不多六種教程,很遺憾,全部撲街。只能去tensorflow官網:https://www.tensorflow.org ,官網有時候可能上不去,這裡貼出來一些介紹:

英文原版介紹也是這樣,意思就是目前windows下,tensorflow沒有和python2.7對應的版本。還有一個驗證方式就是命令列用conda命令查詢python2.x對用的tensorflow版本,(conda info <package> )依然是沒有,所以不要在相信有的教程中說的更新pip或者某些特殊的命令去安裝2.x對應的tensorflow,浪費時間而已。

3.解決方式

如果真的是想在windows下執行python2.x的程式碼,又需要tensorflow環境,比如神經網路程式碼,這裡給出幾個方法。

第一種:python2的程式碼直接轉換成python3的程式碼,python自帶了這樣一個指令碼,叫2to3-script.py,位置在D:\Anaconda3\Tools\scripts (具體檢視自己的安裝目錄),使用方式也很簡單,可以單個轉換和批量轉換,方法自行百度。缺點:網上說有的python2寫的程式碼跟版本有著深度依賴關係,轉換後也不能正常執行,不是很理解。我自己目前用的這種方式。

第二種:安裝虛擬機器或者雙系統,這個就不用多說了。Ubuntu系統自帶python2版本,並且tensorflow支援ubuntu系統下的python2版本。

第三種:docker安裝。官方解釋docker類似於一個容器,個人感覺跟虛擬機器差不多,而且docker在win10環境下,安裝特別方便,具體見官網https://www.docker.com/。tensorflow也給出了docker環境下的安裝,但是對於python2對應的tensorflow能不能安裝成功,目前還沒嘗試。