基于 VSCode 的代码环境配置
2024-3-9
| 2024-6-1
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

一、安装 Python 与 R 的环境

PyCharm 和 RStudio 分别是 Python、R 两种代码语言的工作利器,不过随着 VSCode 相关生态的逐渐完善,使用 VSCode 进行 Python 和 R 的 coding 已经趋于成熟。相较于 VSCode,PyCharm 和 RStudio 也略显笨重。因此,本文将详细介绍如何基于 VSCode,完成 Python 和 R 两种代码环境的一体化配置。

1. 配置 Python 环境

机器学习技术日新月异,不过也导致了 Python 环境的管理问题,时常导致多个项目依赖包的不兼容问题,而 conda 为此提供了一个解决方案。不过,Anaconda 实在是过于庞大,个人而言更青睐一个小体量的工具,也因此选择了 MiniForge
Miniforge 的安装十分简单,macOS 上在终端运行下述代码,安装即可。
在 Windows 上则需前往 GitHub 下载名称为 Miniforge3-Windows-x86_64.exe 的安装包即可。
值得注意的是,Windows 系统中在默认设置下,Miniforge 不会自动添加到系统环境中,因此直接在终端运行下述命令可能会报错。解决方法有两个,其一是官方推荐的做法,即通过 Miniforge Prompt (在开始菜单中) 来进行以下代码;其二是在安装时勾选添加到系统环境中。macOS 中请直接使用终端进行运行以下代码。
  1. 初始化 conda。运行即可,如果报错,请确保系统环境中已添加 Miniforge。
    1. 创建虚拟环境。name 是虚拟环境的名称,可以随意设置,例如 nlp、cv 等等。python=3.10 声明了安装的 Python 版本是 3.10,按需设置即可。
      1. 激活环境。注意,请将 name 修改为上一步中你自定义的名称。这一步之后即可通过 pip 来安装包了。每次启动终端时,会默认启用 base 环境,这是 conda 的基础环境。若想在虚拟环境中进行包的管理与安装,请先激活该环境。
        至此,Python 环境即已经配置完成。

        2. 配置 R 环境。

        R 的配置相对简单,同样的也可以通过包管理器安装,macOS 请在终端运行 brew install —cask r,Windows 请运行 winget install rproject.r。同样的,也可以前往 R 的官网下载安装包来安装。
        到这里 R 的安装就已经完成了,不过推荐继续安装 Radian,来优化在 VSCode 中进行 R 编程的体验。在安装了conda 的情况下,安装 Radian 也相当简单,在终端运行 conda install radian 即可。注意,如果你不想将 Radian 安装在默认的 base 环境中,请先激活虚拟环境再运行。

        二、配置 VSCode

        与 Python 与 R 的安装相同,安装 VSCode 也有包管理器和安装包两种安装方式。使用包管理器安装,macOS 用户请运行 brew install --cask visual-studio-code,Windows 用户请运行 winget install microsoft.visualstudiocode。与之前相同,也可以前往 VSCode 的官网来下载安装包以安装。
        在安装完成后,建议登录 Microsoft 或 GitHub 账号,以进行跨终端的同步设置,避免在不同系统环境,或是重装系统后重复配置 VSCode。

        1. 安装插件

        插件是 VSCode 中简化操作的重要工具,以下是 Python 和 R 工作中的常用插件。以下,是我常使用的一些插件。当然,在部分功能上有许多相似的插件,这部分插件的选择更加符合我的个人偏好。例如,用于自动格式化 Python 代码的插件 charliermarsh.ruff,就有 Microsoft 出品的 Black Format 等替代品。
        在 VSCode 的扩展栏中搜索下列插件的名称点击安装即可。注意,可能部分插件不是必须的,例如 ms-vscode-remote 的相关插件,是用于运行 WSL 或是连接远程服务器用的。下列插件中,个人觉得较为重要的插件会在插件末尾加上 * 号说明,请根据需要进行安装。

        2. 配置插件及编辑器

        在安装完插件之后,还需要进行设置。在 VSCode 中,提供了可视化的设置界面(左下角的⚙️状图标 → 设置)和 JSON 文件(设置界面中,右上角的 📄 状图标)两种设置方法。
        以下是我的 JSON 设置文件,以供参考。
        注意,其中有几个需要自定义的选项。
        1. editor.fontFamilyeditor.fontLigatures。 这两个选项规定了编辑器使用的字体,及字体特性。我选用的字体是 Monaspace Xenon Var霞鹜文楷。前者是 GitHub 开发的一款英文等宽字体,后者是一款开源的中文字体。若有别的偏好字体,可以在这里进行修改。
        1. r.rterm.macr.rterm.windows。这两个选项规定了编辑器在运行 R 代码时使用的终端。 在 macOS 中,若使用 R 的默认终端,一般设置为 /usr/local/bin/r;若使用 Radian,则设置为 /opt/homebrew/Caskroom/miniforge/base/bin/radian。若忘记了 R 或 Radian 的安装位置,可以通过 whereis rwhereis radian 来查询。 在 Windows 中,若使用 R 的默认终端,一般设置为 C:/Program Files/R/R-4.3.3/bin,注意每次 R 更新版本后都要修改该终端位置;若使用 Radian,则设置为 C:/Users/你的用户名/miniforge3/Scripts/radian.exe。若忘记了 R 的位置,一般来说无法直接通过命令行查询,因为 R 默认不添加到系统环境中,不过 R 的默认安装位置一般也不发生改变;若使用 Radian,在 cmd 终端中通过 where radian 来查询,在 PowerShell 中则通过 get-command radian 来查询。另外,Windows 系统中默认路径使用反斜杠,在 VSCode 中请修改为正斜杠,或使用转义符号来修饰。
        其余的选项可以根据需要来进一步修改。
        最后,为了更好的交互效果,还需要在 R 语言中安装三个必要的包,其中 languageserver 是必选装的。httpgd 则是提供了一个更好的查看画图结果的界面,而 lintr 则是提供了一些代码书写风格的检查和修改建议。

        3. 可能的问题排查

        在 VSCode 中对 Python 环境的配置已经较为成熟,但在一些细节上对 R 语言的支持还不是太完善,可能存在一些问题,也因此提供一些排查思路。
        1. R Interactive 无法启动。 这个报错是因为 VSCode 无法连接到 R 终端。一个可能的问题是 VSCode 的集成终端中无法读取到 R Home 的路径。可以在 R 终端中(打开 R 软件或 Radian),输入 R.home() 即可查找 R Home 的路径。随后,在 VSCode 的 JSON 配置中添加以下代码即可。注意,请将 /Library/Frameworks/R.framework/Resources 替换成你自己系统上的路径。
          1. R 的输出中,中文是乱码。 这个错误通常发生在使用 Radian 终端的 Windows 系统中。临时的解决办法是,在运行 R 代码之前,先运行 Sys.setenv(LANG = "en_US.UTF-8")。也可以通过在 C:\Users\你的用户名 文件夹下创建一个 TXT 文件,随后将上述代码输入, 保存后将该文件名修改为 .radian_profile 即可。

          三、配置 CUDA 或 MPS(可选)

          1. 在 Windows 平台配置 CUDA

          1. 创建虚拟环境。conda create —name nlp python=3.9,这里创建了一个名为 nlp,Python 版本为 3.11 的虚拟环境,由于许多包适配的版本不一致,不建议安装太新的 Python 版本。
          1. 激活环境后安装 pytorch,前往官方网站,选择合适的选项后运行相关命令即可,当前最新的命令为 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
          1. 在当前,Windows 系统中,Tensorflow 2.10 版本之后已经不适配,因此不推荐安装 Tensorflow 的 GPU 版本,若确实需要安装,建议配置 WSL 之后,在 WSL 中安装。 若确实需要在 Windows 系统中安装 Tensorflow,2.10 版本的 Tensorflow 要求 CUDA 版本为 11.2,cuDNN 版本为 8.1(其他版本点此查阅)。随后前往英伟达官网,分别下载并安装对应版本的 CUDAcuDNN。此外,需要安装 GPU 驱动,下载安装 GeForce Experience 即可。在激活环境后安装 tensorflow,运行 conda install tensorflow=2.10

          2. 在 Mac 平台配置 MPS

          依次在终端运行以下代码即可。

          3. 在 WSL 或 Linux 平台配置 CUDA

          依次在终端运行以下代码即可。
          最后,可以通过下述代码验证是否能够调用 GPU。
           
        2. Python
        3. R-Language
        4. 工具
        5. 安装和设置 R 语言浏览器调教指南
          • Cusdis
          目录