一般安装步骤
安装Python环境。此处建议安装 Anaconda 的Python 3.7版本(后文均以此为准),这是一个开源的Python发行版本,提供了一个完整的科学计算环境,包括NumPy、SciPy等常用科学计算库。当然,你有权选择自己喜欢的Python环境。Anaconda的安装包可在 这里 获得。
使用Anaconda自带的conda包管理器建立一个Conda虚拟环境,并进入该虚拟环境。在命令行下输入:
- conda create --name tf2.0 python=3.7 # “tf2.0”是你建立的Conda虚拟环境的名字
- conda activate tf2.0 # 进入名为“tf2.0”的虚拟环境
- 使用Python包管理器pip安装TensorFlow。在命令行下输入:
- pip install tensorflow==2.0.0 # TensorFlow CPU版本
或
- pip install tensorflow-gpu==2.0.0 # TensorFlow GPU版本,需要具有NVIDIA显卡及正确安装驱动程序,详见后文
等待片刻即安装完毕。
小技巧
也可以使用
conda install tensorflow
或者conda install tensorflow-gpu
来安装TensorFlow,不过conda源的版本往往更新较慢,难以第一时间获得最新的TensorFlow版本;在Windows下,需要打开开始菜单中的“Anaconda Prompt”进入Anaconda的命令行环境;
在国内环境下,推荐使用国内的pypi镜像和Anaconda镜像,将显著提升pip和conda的下载速度;
清华大学的pypi镜像:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
清华大学的Anaconda镜像:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
pip和conda包管理器
pip是最为广泛使用的Python包管理器,可以帮助我们获得最新的Python包并进行管理。常用命令如下:
- pip install [package-name] # 安装名为[package-name]的包
- pip install [package-name]==X.X # 安装名为[package-name]的包并指定版本X.X
- pip install [package-name] --proxy=代理服务器IP:端口号 # 使用代理服务器安装
- pip install [package-name] --upgrade # 更新名为[package-name]的包
- pip uninstall [package-name] # 删除名为[package-name]的包
- pip list # 列出当前环境下已安装的所有包
conda包管理器是Anaconda自带的包管理器,可以帮助我们在conda环境下轻松地安装各种包。相较于pip而言,conda的通用性更强(不仅是Python包,其他包如CUDA Toolkit和cuDNN也可以安装),但conda源的版本更新往往较慢。常用命令如下:
- conda install [package-name] # 安装名为[package-name]的包
- conda install [package-name]=X.X # 安装名为[package-name]的包并指定版本X.X
- conda update [package-name] # 更新名为[package-name]的包
- conda remove [package-name] # 删除名为[package-name]的包
- conda list # 列出当前环境下已安装的所有包
- conda search [package-name] # 列出名为[package-name]的包在conda源中的所有可用版本
conda中配置代理:在用户目录下的 .condarc 文件中添加以下内容:
- proxy_servers:
- http: http://代理服务器IP:端口号
Conda虚拟环境
在Python开发中,很多时候我们希望每个应用有一个独立的Python环境(比如应用1需要用到TensorFlow 1.X,而应用2使用TensorFlow 2.0)。这时,Conda虚拟环境即可为一个应用创建一套“隔离”的Python运行环境。使用Python的包管理器conda即可轻松地创建Conda虚拟环境。常用命令如下:
- conda create --name [env-name] # 建立名为[env-name]的Conda虚拟环境
- conda activate [env-name] # 进入名为[env-name]的Conda虚拟环境
- conda deactivate # 退出当前的Conda虚拟环境
- conda env remove --name [env-name] # 删除名为[env-name]的Conda虚拟环境
- conda env list # 列出所有Conda虚拟环境