用 Visual Studio Code 打造超越 PyCharm 的开发神器

一、前言

Visual Studio Code 是一款开源的 IDE 开发工具,以下简称 VSCode,它是基于 ElectronJS 开发、具有 web 技术栈的开发优势,比如界面开发效率高、设计美观、生态开放等,因此产生了大量免费的插件,就 python 开发而言,目前已经可以用 VSCode 加上各种 Python 插件实现非常高级的开发功能,完全可以替代 PyCharm 了。这里将记录我日常使用 VSCode 开发 python 项目的一些技术心得,与大家分享、备忘。

二、让 VSCode 的终端识别 Anaconda

Python 项目开发少不了用到 Anaconda,而要想打开 VSCode 的 Terminal (终端) 后,能够输入 conda activate <环境名> 切换到指定的 anaconda 环境,需要先让 Anaconda 初始化一下环境,方法是打开 VSCode 的执行命令:

conda init

然后再执行 conda activate <环境名> 就可以了。
另外,打开‘终端(Terminal)面板’的快捷键是Control+J

三、VSCode 的 jupyter 插件使用

VSCode 有一个 Jupyter 插件,可以用来编写 Jupyter Notebook,但运行 notebook 时会报错:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-781b19ee0a2a> in <module>
----> 1 import pandas as pd
      2 import matplotlib.pyplot as plt
      3 
      4 # 数据
      5 data = {'x': [1, 2, 3, 4, 5], 'y': [1, 4, 9, 16, 25]}

e:\anaconda3\envs\py36\lib\site-packages\pandas\__init__.py in <module>
     15 if missing_dependencies:
     16     raise ImportError(
---> 17         "Unable to import required dependencies:\n" + "\n".join(missing_dependencies)
     18     )
     19 del hard_dependencies, dependency, missing_dependencies

ImportError: Unable to import required dependencies:
numpy: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
...
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load failed: 找不到指定的模块。

这个问题不知道是什么原因造成的,有一个解决方法是使用远程、在命令行终端启动的 jupyter notebook 内核。
方法是:

  1. 在命令行中启动 jupyter notebook。
conda activate py3jupyter
jupyter notebook
  1. 在 VSCode 的 Jupyter 编辑器中选择“Remote Kernel”,输入IP:127.0.0.1,连接即可。
    在这里插入图片描述
    在这里插入图片描述
    然后复制命令行终端的 URL 地址,一定要带上末尾的 token,输入‘显示名 127.0.0.1’ ,再选择默认的 kernel 像下面这样:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    就可以用 Jupyter 插件运行 Notebook 了,如下。
    在这里插入图片描述
    和浏览器版本的 Jupyter Notebook 相比,使用 VSCode 的 Jupyter 插件有个好处,就是可以很方便地查看变量和矩阵数据。
    在这里插入图片描述

四、配置 git 的免密访问

VSCode 的 git 插件依赖 git 客户端工具 git bash,而这个工具在 Windows 下无法记录密码,每次访问 git 仓库时都会询问密码,导致无法在 VSCode 中使用 git 的 push、pull 等远程仓库访问命令。
解决办法是使用 git 的 ssh 协议即 git 协议访问远程仓库而不是 http/https 协议,并利用 ssh 的证书进行身份验证,这样就可以不用每次都输入密码了。

整个解决方案的大体步骤如下:

  1. 安装 Windows 版本的 git bash
  2. 在 Windows 版本的 git bash 终端里用 ssh-key-gen 生成公私秘钥对文件。
  3. 将公钥写入 git 服务器的 authorized_keys 文件中。

需要注意的要点:
1、确保 VSCode 所使用的是 git bash。可以查看 PATH 环境变量中是否 git bash的路径在其他 git 程序前面。
在这里插入图片描述
2、确保 git bashssh-agent 已经启动。没有启动的话用 eval "$(ssh-agent -s)" 命令启动一次。注意,启动 ssh-agent 只有用 ssh-add 命令添加、查看秘钥时才需要,其他时候可以不启动。
3、确保秘钥对已经添加到 ssh-agent 了。方法是用 ssh-add -l 命令查看,这里的 -l 是 list 的首字母 l。如果没有看到有效的秘钥对,那么就用 ssh-add ~/.ssh/id_rsassh-add ~/.ssh/id_ed25519 添加一次。
4、问题排查。当遇到VSCode的git要求输入密码时,可以用下面的步骤排查问题。

是否启动了 ssh-agent 
进入 `git bash` ,用 `ssh-add -l` 查看是否已经添加了密钥对。
用 `ssh -vT <用户名>@<IP、域名>` 连接 git 服务器,查看是否能正常登录。
如果系统中有多个 OpenSSH 安装,要确保各自的 ssh-agent 、ssh-add 都添加了密钥对。

要想知道 ssh-agent 是否是 git bash 的,办法就是在 windowws 的任务管理器中右键点击要查看的ssh-agent进程,选择打开文件的路径来查看这个 ssh-agent 是属于哪个 Open-SSH 安装程序的。

五、安装一些好用的扩展(extensions)

对于 VSCode 的 python 开发环境,我们需要先安装一些扩展,下面是我用到的一些扩展,(1)和(2)都是必须的,(3)可以用来列出 已经安装的 Anaconda 或者 VirtualEnv 的可用虚拟环境,方便查看。
在这里插入图片描述
另外,还有就是 Jupyter Notebook 相关扩展,见下面的(4),它是一个扩展包,包括好几个 jupyter 相关的扩展,装它一个就可以了。
在这里插入图片描述
查看矩阵等对象的扩展“Data Wrangler”。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值