用 Visual Studio Code 打造超越 PyCharm 的开发神器
目录
- 一、前言
- 二、让 VSCode 的终端识别 Anaconda
- 三、VSCode 的 jupyter 插件使用
一、前言
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 内核。
方法是:
- 在命令行中启动 jupyter notebook。
conda activate py3jupyter
jupyter notebook
- 在 VSCode 的 Jupyter 编辑器中选择“Remote Kernel”,输入IP:127.0.0.1,连接即可。
然后复制命令行终端的 URL 地址,一定要带上末尾的 token,输入‘显示名 127.0.0.1’ ,再选择默认的 kernel 像下面这样:
就可以用 Jupyter 插件运行 Notebook 了,如下。
和浏览器版本的 Jupyter Notebook 相比,使用 VSCode 的 Jupyter 插件有个好处,就是可以很方便地查看变量和矩阵数据。