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

window环境下python3.x和python2.x共存以及安装tensorflow

在百度里面搜索,似乎可以找到解决方案,我在服务器上试了差不多六种教程,很遗憾,全部扑街。只能去tensorflow官网:https://www.tensorflow.org ,官网有时候可能上不去,这里贴出来一些介绍:

window环境下python3.x和python2.x共存以及安装tensorflow

英文原版介绍也是这样,意思就是目前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能不能安装成功,目前还没尝试。