在隔离环境中使用Visual Studio Code和TensorFlow

这是一次折腾,试图在windows上配合隔离环境学习tensorflow

1.Python 3.6-64bits上安装

我把Python 3.6装在了C盘根目录,一路Next下去就好了 。


没啥好说的,一路按Next,记得把Python路径加入环境变量

2.tensorflow安装

2.1 安装虚拟环境 virtualenv

用CMD切到Python的安装目录,pip安装virtualenv。

pip3 install -U pip virtualenv

virtualenv提供一个Python运行的虚拟环境,其文档可以在这里找到。廖雪峰大佬有一篇关于 virtualenv 快速入门教程在这里(这儿是PDF存档),虽然是基于Mac的教程但主要领会精神就好,况且操作起来其实和Windows的没太大差别。

2.2 用virtualenv新建一个Python3虚拟环境

先去确认一下pip,python3和virtualenv安装无误

python --version
pip3 --version
virtualenv --version

效果如下

现在使用virtualenv 的建立一个隔离环境。–system-site-packages令隔离环境可以访问系统全局的site-packages目录,–no-site-packages令隔离环境不能访问系统全局的site-packages目录。这两个命令的做法十分简单粗暴:前者会将 site-packages 里的内容复制到新的工作目录里面,而后者不这么做。-p参数指定所用的python解析器的版本。

如果你想要在当前目录下建立一个名为ItIsNewVenv的隔离环境,使用./ItIsNewVenv即可,但如果想要在其他位置(比如D:\Work_Space_Of_Python\ 目录)建立这个环境应该怎么办呢?——直接指定绝对路径就好了

# 带第三方包,当前目录下
virtualenv --system-site-packages -p python ./ItIsNewVenv
# 不带第三方包,环境置于任意位置
virtualenv --no-site-packages -p python D:\Work_Space_Of_Python\ItIsNewVenv

进入隔离环境:

# 当前目录下
.\ItIsNewVenv\Scripts\activate
# 任意目录下
D:\Work_Space_Of_Python\ItIsNewVenv\Scripts\activate

检查一下第三方包的安装状态:

pip install --upgrade pip
# 列出安装在隔离环境中的第三方包
pip list  

退出当前激活了的隔离环境:

# 退出当前环境,所以无论你在哪个目录都一样
deactivate

2.3 安装Tensorflow

这里采用TensorFlow官方推荐的安装方式,原文在这里

首先,要在这里下载 Microsoft Visual C++ 2015 Redistributable Update 3 或更新的可再发行组件包。

tensorflow的1.13.1有两个版本

  • tensorflow —是依靠CPU计算的TensorFlow
  • tensorflow-gpu —是带有GPU支持的TensorFlow

因为买不起显卡,先用CPU将就着吧

# 激活隔离环境
.\ItIsNewVenv\Scripts\activate
# 安装tensorflow
pip install --upgrade tensorflow
# 验证一下安装
python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

当见到“ tf.Tensor(-286.8095, shape=(), dtype=float32) ”字样的时候就算安装成功了。

3.VSCode安装

同样是一路Next就行。System Instalerl默认安装在Program Files文件夹,供本机的所有用户使用;而User Installer默认安装在User文件夹下。它们之间几乎没有区别,唯一的不同点可能就在于User Installer安装在User文件夹,不需要提供管理员权限开箱即用而已。

4.配置Visual Studio Code

官方指南在这里,Python插件的GitHub页面在这里。具体来说就是分成三步:

4.1安装Visual Studio Code的Python插件

如下图

顺便把中文界面支持也可以装上

装好语言支持之后按下 Ctrl+Shift+p 展开全局命令面板,输入 “configure display language” 回车就可以打开locale.json文件了。把其中的en改成zh-cn,重启VSCode,汉化就完成了。

4.2 设置Python解释器和工作区

先打开一个工作目录,然后在工作目录中设置 Python 的解释器。点击调试界面中的下拉菜单,选择[添加配置],VSCode会在工作区的.vscode文件夹里自动生成 launch.json 文件。

然后依旧是Ctrl+Shift+p,输入“ Python:Select Interpreter ”。VSCode会在工作区里的.vscode文件夹里生成setting.json。我们需要在这里添加隔离环境的路径使VSCode可在隔离环境中工作。

python.pythonPath指定隔离环境中的Python解释器位置,python.venvPath指定隔离环境的目录在哪里,而python.venvFolders项则可以设置具体有几个隔离环境。所以设置好了的 settings.json 文件应该看上去像这样:

{
    "settings": {
        "python.pythonPath": "C:\\Users\\It_is_Fake_User\\Desktop\\Python_Work_Sapce\\tensorflow_Venv\\Scripts\\python.exe",
        "python.venvPath": "C:\\Users\\It_is_Fake_User\\Desktop\\Python_Work_Sapce\\tensorflow_Venv\\",
        "python.venvFolders": [
            "ThisisVenv1",
            "ThatisVenv2",
            "This_is_Venv_Tensor_Flow"
        ]
    }
}
4.3 最后,来验证一下?

在隔离环境里新建一个py文件,写上一行print试试。

F5直接弹出CMD调试,Shift+Enter直接在VSCode的终端里运行,不弹出CMD。看上去还不错

至此打完收工

Published by