跳转到内容

如何在 Windows 上使用 Sequenzo

前置条件:

☐ Python 3.12 版本(3.9~3.12 均可)
☐ IDE(VS Code 或 PyCharm)
☐ 下载 Sequenzo
☐ 下载 quickstart.ipynb

使用指南

如果你跳转到
是纯小白这里
之前下载了 Sequenzo这里
已经有 Python,但是没有指定的 Python 版本这里
已经有了指定 Python,且用 VS Code这里
打算用 PyCharm这里
虚拟环境使用的是 conda/pyenv/virtualenv这里
如果你不知道虚拟环境是什么以及如何使用,这里

我们建议先通读一遍教程,然后再开始实操。先通读教程,可以帮助你知道整个流程大概是怎么回事。 比如,你会知道大概的步骤都有哪些、配置的环境是什么样子、可能出现哪些问题,以及常见的解决方案。 遇到问题时,也能更快在教程的 Q&As 里找到答案。

也同样建议学习 多 Python 版本管理, 这样你可以知道 Python 究竟安装到了哪里、虚拟环境在哪里、下载的包又去了哪里,以及如何管理多个不同版本的 Python 项目。

在操作的过程中,如果有任何疑问,请先耐心看完,你需要的所有东西或者答案都会在这篇教程里提到。

如果你是纯小白

Step 1:下载 Python 解释器

解释器是什么?为什么要配置解释器?移步 这里
如果你印象中自己之前下载过 Python,请 检查自己电脑上的 Python

我们这里直接在官网下载,对应的虚拟环境工具是 venv。如果你想使用 conda/pyenv/virtualelv,请 跳转

进入 Python 官网, 滚轮滚到页面最下面,选择 Windows 平台上的 Python 解释器:

图1

图2

图3

PS:有时即使勾选了添加到 PATH,系统也不会真的将其加进去,因此基本都需要手动配置 PATH。

这里我们下载的是“安装 Python 的向导”。也就是说,我们要先把向导下载下来,然后再通过这个向导安装 Python 解释器。

图4

图5

⚠️注意:路径必须是全英文,且没有空格!推荐的格式是字母 + 下划线。

建议将 Python 安装在你清晰的位置。
这样既能让你轻松找到,也能让你在日后学习 Python 时事半功倍。

图6

图7

图8

图9


Step 2:设置 Python 环境变量

请不要紧张,这步很简单。
我会尽量展示每个步骤及其可能的结果,只要照着步骤操作一步一步来就可以。

什么是环境变量?环境变量 = 系统的索引表,是告诉系统去哪里找程序的。
所以设置 Python 环境变量可以让你在终端随时运行 pythonpip,而不用输入完整的路径。

但 Windows 系统不会自动帮我们配置 Python 环境变量,所以需要我们手动去配置,这样才能让 Windows 系统知道去哪才能找到 Python,进而使用 Python。

下面让我们开始为 Python 配置环境变量吧!

图10

图11

图12

图13

接下来让我们将刚刚下载的 Python 添加到系统变量里。


我们要复制两个文件(夹)的路径。这两个路径非常重要!关系到 Windows 是否能成功找到 Python。

这是第一个 ↓:(python.exe 所在文件夹的路径)

图

图


这是第二个 ↓:(Scripts 文件夹的路径)

图

图


将这两个路径添加到刚才打开的 PATH 里:

图

图

然后一路“确认”。

图

图


验证 Python 是否安装成功。打开 CMD 或者 PowerShell,输入 python3.10 --version,如果输出如下,则成功。

图


Step 3:下载 VS Code

如果你已经下载了 VS Code,跳过此步。

官方下载地址为:VS Code 官网

图

图

图

图

图

图


下面是 VS Code 的欢迎界面:(你们的界面应该是英文版,如果想要中文,请移步 Q&As)。

图

因为是第一次下载 VS Code,所以 VS Code 也会提供熟悉其界面的新手教程,建议不要跳过。


Step 4:下载 Extension 拓展

由于 VS Code 是一款轻量级的 IDE(Integration Development Environment,集成开发环境), 所以只有基础功能,额外的功能则需要通过插件实现,这些插件我们称之为扩展(Extension)。

为保证 VS Code 顺利运行 Sequenzo,我们需要在 VS Code 里下载:

  • Python
  • Jupyter

即使你已经下载或使用过了 VS Code,也请检查是否已经下载了这两个扩展。

但由于 Python 和 Jupyter 扩展的文件体积较大,可能会遇到下载时间可能会久一点。 如果微软 CDN(Content Delivery Network,内容分发网络。是微软提供的一种全球分布式网络服务,用于加速网站、应用或文件的访问速度) 恰好不稳定, 而且 VS Code 也没走代理(即 VPN/梯子/魔法)的话,大概需要 5-10 分钟。

一般情况下,下载很快就会完成。

图

图

这步最容易遇到的错误,是由网络原因导致的下载慢或者下载失败。 如果遇到了这种情况,移步 Q&As


Step 5:配置项目环境

1. 创建项目并打开

正因为 VS Code 是一款轻量级的 IDE,它本身并不提供直接创建新项目的功能,因此我们需要先在本地手动创建项目文件夹。

图

创建好后,回到 VS Code:

图

图


2. 创建虚拟环境

虚拟环境是一个独立的 Python 运行空间,用来管理项目所需的 Python 版本和依赖库。 Sequenzo 就是一个 Python 包,需要在虚拟环境里下载。

我们这里使用 venv 创建虚拟环境,如果你想用 conda/pyenv/virtualenv,请移步 这里

打开终端,在项目根目录下,创建虚拟环境:

powershell
python3.10 -m venv .venv

如果你现在的终端处于 conda 的虚拟环境中,一定要先把 conda 虚拟环境关闭,以防路径解析混乱,这样也会方便你对包安装路径的管理。

注意这里的命名。虽然我们建议不同的项目用不同的虚拟环境,但在 Windows 上,VS Code 上如果识别出了当前项目目录下的 Python 环境,这当然是最好的,但如果无法识别,则只能识别 .venv

也就是说,即使你已经创建了名为 sequenzo_project 的虚拟环境, VS Code 仍会再创建一个 .venv 的虚拟环境,然后下载失败(因为会与 sequenzo_project 冲突)。

因此,为了以防万一,我们建议 Windows 用户在项目根目录下创建虚拟环境时,环境名称为 .venv

图

图

激活终端的虚拟环境(即项目根目录下的 .venv):

powershell
.venv\Scripts\Activate.ps1

图

如果激活虚拟环境这步出现了问题,移步 Q&As


配置 VS Code 的 解释器。按 CTRL + Shift + P

图

同样选择项目根目录下的 .venv

图

图

图

图

这样就可以确保 VS Code 解释器里的虚拟环境和终端里的虚拟环境是一致的,从而避免依赖混乱。


3. 下载 Sequenzo

powershell
pip install sequenzo jupyter

图

下载 Sequenzo 时,Sequenzo 也会检查当前环境里是否有它依赖的包,如果没有,则一并下载。

因为 sequenzo_project 是我们刚刚创建的崭新的虚拟环境,里面什么都没有,因此才会看到这么多包都被下载了。

图


Step 6:运行 quickstart.ipynb

为什么要运行这个?

因为这是我们上课要用的代码教程文件,如果这个文件运行没问题,那么你就可以继续用代码了, 只不过将里面的数据集换成自己的。

如何获取的 quickstart.ipynb ?请查看 Q&As 中的 第 5 个问题

img.png

img_1.png

img_2.png

⚠️⚠️⚠️ 此时,部分同学的 Windows 上可能会有一个弹窗:问你是否允许 Windows 打开本地 WebView 组件(VS Code 用它来跑 Jupyter 内核)。一定要同意!

如果你误操作,没有允许,那么请移步 Q&As
同样,如果你发现核不是版本号,而是 -1 或者 undefined,也请移步 Q&As
如果发现里面没有你想要的虚拟环境,也请移步 Q&As

然后我们就可以跑代码了:

图

如果这步出现了问题,请移步 Q&As

如果你之前下载了 Sequenzo

因为我们又优化了一版 Sequenzo 包,包括简便了环境配置,加速了 CLARA 计算等等。

所以请在终端(Terminal) :

  • 方法 1:直接 pip install --upgrade sequenzo
  • 方法 2:先 pip uninstall sequenzo 卸载,然后 pip install sequenzo 重新下载。

如果你已经有 Python,但没有指定版本的 Python

为了延续你现有的习惯, 我们在这里列举了所有可用于管理 Python 的工具(如果想了解这些工具,请移步 这里)。 按照自己的习惯选择即可。

  1. 如果你现在的 Python 是从官网上下载的:请看 这里

  1. 如果你现在的 Python 是在 conda 里,则创建一个新的虚拟环境:
powershell
conda activate    # 激活 conda 环境
conda create -n python310 python=3.10    # 创建指定版本的 python

然后配置虚拟环境。如果你是 VS Code,按 CTRL+ Shift + P,然后输入并回车:

bash
Python: Select Interpreter

图


如果你是 PyCharm,打开“Settings”-->“Python Interpreter”-->“Add Interpreter”-->“Add Local Interpreter”:

图


  1. 如果你现在的 Python 是在 pyvenv 里:pyvenv 在 Python 3.8+ 已弃用,推荐使用 venv(教程里使用的就是 venv),即 这里

在 VS Code 或 PyCharm 里配置虚拟环境,与本节 第2点 里的操作一致,只是在选择时有所不同。


  1. 如果你现在的 Python 是在 virtualenv 里:
powershell
virtualenv -p python3.10 venv

在 VS Code 或 PyCharm 里配置虚拟环境,与本节 第2点 里的操作一致,只是在选择时有所不同。

如果你已经有了指定 Python,且用 VS Code

1. 如果你打算在已经打开的项目里使用 Sequenzo:

图

然后请从 创建虚拟环境 里的 “配置 VS Code 解释器” 继续往下看。


2. 如果你打算新建项目,然后使用 Sequenzo,请移步 这里 继续往下看。

如果你打算用 PyCharm

我们不推荐小白使用 PyCharm,因为 PyCharm 功能复杂,不容易上手。 而且如果不是专业版(付费),是社区版(免费),功能也会被阉割的很严重。 加之申请学生资质有点小麻烦,而且还要等审核。

如果你是小白,而且仍然选择用 PyCharm,请确保:你已经有了相应版本的 Python。 如果没有,请看 这里


1. 如果你打算在已经打开的项目里使用 Sequenzo:

图


2. 如果你打算新建项目,然后使用 Sequenzo:

图

图

图

图

图

图

图

图

图

如果你用的是 conda/pyenv/virtualenv

我们以 conda 举例,因为其他均是一样的操作。

1. 如果你在 VS Code 里:

图

然后接下来的流程继续看 Step-5:配置项目环境


2. 如果你在 PyCharm 里:

如果你是在已有项目里:

图

图


如果你是新建项目:

图

然后请从 如果你打算用 PyCharm 继续。

Q&As

1. pip install 失败或太慢

因为 pip install 需要联网,所以大概率是网络被卡掉了。因此用镜像下载即可:

powershell
pip install sequnezo -i https://mirrors.aliyun.com/pypi/simple/

# 如果阿里云镜像失效,则用下面的:
#   清华镜像:https://pypi.tuna.tsinghua.edu.cn/simple
#   中科院镜像:https://pypi.mirrors.ustc.edu.cn/simple
#   豆瓣镜像:https://pypi.douban.com/simple

2. pip install jupyter 失败

如果你的错误信息是:

powershell
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'D:\\college\\research\\QiQi\\sequenzo\\testSequenzo\\for_users_tutorial\\.venv\\share\\jupyter\\labextensions\\@jupyter-widgets\\jupyterlab-manager\\static\\vendors-node_modules_d3-color_src_color_js-node_modules_d3-format_src_defaultLocale_js-node_m-09b215.2643c43f22ad111f4f82.js'
HINT: This error might have occurred since this system does not have Windows Long Path support enabled. You can find information on how to enable this at https://pip.pypa.io/warnings/enable-long-paths

【原因分析】 pip 给的提示的是Windows Long Path support enabled。这是因为 Windows 默认的路径长度限制是 260 个字符(经典的 MAX_PATH 限制)。在安装 Jupyter 时,pip 会创建很多非常长的目录,例如:

powershell
...\.venv\share\jupyter\labextensions\@jupyter-widgets\jupyterlab-manager\static\vendors-node_modules_d3-color_src_color_js-node_modules_d3-format_src_defaultLocale_js-node...

这个路径(文件名 + 目录名)特别长,超过 260 字符 → Windows 不能处理 → pip 报错:

powershell
OSError: [Errno 2] No such file or directory

其实这个文件并不存在,是因为路径太长 Windows 不允许创建。


【解决方案】 将项目移到更短的路径下。


3. 激活虚拟环境遇到权限不足的问题

如果你在 .venv\Scripts\Activate.ps1 时遇到了下面的问题:

img.png

可以清晰地看到:

无法加载文件 ...Activate.ps1,因为在此系统上禁止运行脚本。

这是由 Windows PowerShell 的执行策略阻止运行虚拟环境的激活脚本导致的,我们只要把权限放开即可。

打开 VS Code 终端,输入下面的命令对当前用户永久放宽权限:

powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

然后重新激活:

.venv\Scripts\Activate.ps1

然后你就能看到虚拟环境被顺利激活了。


4. 汉化 VS Code

打开 VS Code 后,点击界面左边 Extentions,在搜索框输入 Chinese,选择 “Chinese Simplified Language”,点击“install”。

图


5. VS Code 无法打开 quickstart.ipynb(或者,如何获取 quickstart.ipynb 文件?)

如果出现了下面的问题:

img_3.png

这是因为 VS Code(和任何 Jupyter 编辑器)只能打开 JSON 格式的 .ipynb,但是这个文件是 XMLHXML 格式的。


如何获取标准格式的 quickstart.ipynb 呢?⬇️

方案 1:直接从官网下载我们的在线教程。

img_1.png


方案 2:点击 Raw → 进入 Raw 的 JSON 界面 → 右键 → Save As。

img.png

img_1.png

img_2.png


方案 3:直接在这个界面内用快捷键 CTRL + S 或者 Command + S,保存为 .ipynb

img.png

img.png


6. Jupyter 选择核时只有 -1 或者 undefined( = 未允许 Windows 打开本地 WebView 组件)

只要出现了选择核时只有 -1 或者 undefined,都可以用下面的方案解决。

图


接下来是解决方案:

1. Step 1:打开设置,打开 Jupyter 权限

如何打开设置?这里

图


2. Step 2:重装 ipykernel

激活虚拟环境后:

pip install ipykernel
python3.10 -m ipykernel install --user --name=.venv

图


3. Step 3:强制刷新解释器VS Code

设置 Ctrl + Shift + P → 输入:

bash
Python: Clear Cache and Reload Window

再输入:

bash
Jupyter: Clear Jupyter Remote Server List

图


4. Step 4:关闭.ipynb,然后重新打开


5. Step 5:重新选择内核(kernel)

图

图

图

图


7. Sequenzo 导包时,发现缺少 DLL(动态库)

如果你运行代码后,发现提示输出下面的报错:

img.png

那么请在 VS Code 终端执行:

pip install msvc-runtime

然后再重新运行代码代码即可。


8. 运行代码后,有错误的提示输出

如果当你成功运行第一个代码后,在后来运行关于 Clara 代码块时,出现了类似下面的错误,这是因为最新的版本已经优化了这个参数,因此只需把 parallel 这个参数删除即可。

img.png


9. 打开 VS Code 的设置

img_2.png


10. VS Code 找不到你创建的解释器

可能是因为 VS Code 还没有刷新出来,Ctrl + Shift + P 打开控制面板,依次尝试输入:

Python: Clear Workspace Interpreter Settings

Python: Clear Cache and Reload Window

Python Debugger: Clear Cache and Reload Window

或者重启 VS Code

然后重新选择解释器(Python: Select Interpreter)。


如果 VS Code 仍然无法识别出你创建的虚拟环境,请尝试手动选择 Python 解释器:

img_3.png

img_4.png

img_5.png

然后等待 VS Code 配置即可。


如果上面的方法均没有效果,我们可以换用 jupyter kernel,具体操作方法见 Q&As


11. VS Code 提示找不到基 Python

请先确保在 CMD(powershell)和 VS Code 的终端里可以正确输出 Python 版本号。

然后尝试 第 10 个问题 里的解决方案刷新 VS Code。

如果仍然提示 “找不到基 Python”,或者提示 “选择的 Python 解释器无效”,那么请先尝试卸载重装 Python 扩展。

如果仍没有得到解决,则打开 .vscode/settings.json(如果没有,则创建;⚠️ 文件夹和文件名必须与给定的完全一致),在里面添加:

{
    "python.defaultInterpreterPath": ".\\.venv\\Scripts\\python.exe"
    # 这里的 python.exe 应该是你的 python3.12.exe 或者 python310.exe 等等
}

然后重新选择解释器。


12. Extension 下载失败

如果出现了 Jupyter 下载失败的情况:

图

【原因分析】 如果点击“log”后显示的内容如下:

powershell
2025-11-13 09:25:49.791 [info] [Window] Auto updating outdated extensions. ms-python.debugpy
2025-11-13 09:28:05.330 [info] [Window] Auto updating outdated extensions. ms-python.debugpy
2025-11-13 09:32:21.772 [error] [Window] Unable to write file '/Users/xinyi/Library/Application Support/Code/CachedExtensionVSIXs/.c6c4f6cb-189b-42c5-9f50-ee0149297eb7' (Error: net::ERR_CONNECTION_CLOSED): DownloadFailedWriting: Unable to write file '/Users/xinyi/Library/Application Support/Code/CachedExtensionVSIXs/.c6c4f6cb-189b-42c5-9f50-ee0149297eb7' (Error: net::ERR_CONNECTION_CLOSED)
at Eh.download (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:65:97879)
at async _h.z (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:52439)
at async file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:51486
at async _h.C (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:52917)
at async _h.w (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:51454)
at async _h.download (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:50821)
at async qh.Cb (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:65275)
at async qh.Bb (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:64518)
2025-11-13 09:35:04.945 [error] [Network] #81: https://ms-toolsai.gallerycdn.vsassets.io/extensions/ms-toolsai/jupyter-renderers/1.3.0/1752018976557/Microsoft.VisualStudio.Services.Content.Details - error GET Failed to fetch
2025-11-13 09:38:46.436 [error] [Window] Unable to write file '/Users/xinyi/Library/Application Support/Code/CachedExtensionVSIXs/.812fb1c3-bb8f-40d7-b7c1-fafa0f255e30' (Error: net::ERR_CONNECTION_CLOSED): DownloadFailedWriting: Unable to write file '/Users/xinyi/Library/Application Support/Code/CachedExtensionVSIXs/.812fb1c3-bb8f-40d7-b7c1-fafa0f255e30' (Error: net::ERR_CONNECTION_CLOSED)
at Eh.download (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:65:97879)
at async _h.z (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:52439)
at async file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:51486
at async _h.C (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:52917)
at async _h.w (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:51454)
at async _h.download (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:50821)
at async qh.Cb (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:65275)
at async qh.Bb (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-utility/sharedProcess/sharedProcessMain.js:74:64518)

可以发现,Jupyter 报了 net::ERR_CONNECTION_CLOSED 的错误,说明在网络层面被卡住了,大概率是因为微软扩展 CDN 被墙了,国内访问微软 CDN 确实不太稳定。


【方案 1】直接多试几次

因为这只是网络的原因,因此说不定第四次、第五次就成功了,简单粗暴。


【方案 2】可以根据 VS Code 的建议,手动下载 Jupyter Extension 的文件包

手动下载(1)既可以直接点击 VS Code 给出的链接,这会自动跳转到浏览器下载;

图

下载完成后,你可以直接点击 VS Code 提供的配置链接,然后选择你刚刚下载的文件;

图

(2)也可以直接到 VS Code Marketplace 官网下载。

图

然后选择在 VS Code 里打开即可。

图


如果你忘记及时跳转了,没关系。

你可以打开 Finder,找到刚刚下载的文件包,选择用其他方式打开。

图

然后选择用 VS Code 打开即可。

图


【方案 3】为 VS Code 设置系统代理(如果你是小白,不推荐用这个方案) 如果你本地有代理(如 Clash / Surge / V2Ray / Shadowsocks 等),在 VS Code 设置中手动配置:

打开命令面板 → “Preferences: Open Settings (JSON)”,添加:

JavaScripts
"http.proxy": "http://127.0.0.1:7890",    // 将端口号 7890 替换为你自己的代理监听端口
"https.proxy": "http://127.0.0.1:7890",
"http.systemCertificates": false

然后重启 VS Code,再下载 Jupyter。

⚠️ 注意:

  1. 部分代理由于保密技术或协议不同,不会向用户提供代理端口号。
  2. 你的代理实际上可能只能代理浏览器流量,无法单独设置让特定软件或服务走代理。

延伸学习

1. 多 Python 版本管理

Python 官网 下载下来的 Python,其目录结构均遵循下面的规律:

bash
# 系统级 Python 环境 (你也可以自定义到其他安装路径)
C:\Python39
  - python3.9.exe
  - Scripts
    - pip3.9.exe
    ...
  - Lib
    - site-packages   # 下载的所有包均会放在这里 
      - pandas
      - numpy
      ...

# 系统级 Python 环境(你也可以自定义到其他安装路径)
D:\Python310
  - python3.10.exe
  - Scripts
    - pip3.10.exe
    ...
  - Lib
    - site-packages   # 下载的所有包均会放在这里 
      - pandas
      - numpy
      ...

# 项目级 Python 环境 —— 我们非常推荐这种模式!👈 😃 因为这样就可以满足不同项目对不同环境的要求
E:\Projects\your_project
  - .venv
    - python3.11.exe
    - Scripts
      - pip3.11.exe
      ...
    - Lib
      - site-packages   # 下载的所有包均会放在这里 
        - pandas
        - numpy
        ...
  file1.py
  file2.py

我们也同样建议手动将原来的 python.exe 更改为对应的 python3.9.exepython3.10.exe 等。 这样会更方便你对 Python 的管理。


2. 电脑终端、VS Code 里的终端、Jupyter Notebook 里的 Kernel

电脑终端 = 原生系统命令行
VS Code 终端 = 路径更好的系统终端
Jupyter Kernel = 一个持续运行的 Python 环境,不是终端


(1)电脑终端(System Terminal)

比如 Windows Terminal / PowerShell / CMD / macOS Terminal / Linux shell。它直接与操作系统交互的命令行工具,运行的是系统级 Shell(bash、zsh、PowerShell …)。

它能访问整个系统的文件、程序、环境变量,能启动任意程序(Python、git、conda、docker…)。

当你运行 python 时,会调用系统认定的 Python 解释器(或者你激活的虚拟环境)。


(2)VS Code 内置终端(VS Code Integrated Terminal)

VS Code 只是把 电脑终端嵌进 IDE 里了,本质上 仍然是系统终端,使用系统的 Shell。

打开 VS Code 终端,就像在打开一个系统终端窗口,只是“嵌在编辑器里”。路径通常自动设为当前项目目录。

使用的 Python、conda 环境仍然取决于你在 VS Code 中选择的 interpreter(或你手动激活的虚拟环境)。

在项目目录下执行命令更方便( pip installpython script.pygit 操作),但没有改变运行环境的本质。


(3)Jupyter Notebook 的 Kernel(内核)

是运行 Python(或其他语言)解释器的独立进程,不是一个“终端”。每个 Notebook 的执行都依赖于一个特定的 kernel(例如 Python3 kernel)。

一个 kernel 对应一个虚拟环境。可以有多个 kernel(不同 pyenv、conda、virtualenv)。

执行代码是在同一个持久进程里:

  • 变量会保留
  • 内存会保留
  • 顺序错乱会导致状态不同(不像脚本每次都要从头来)

3. Jupyter 内核(Kernel)

Jupyter Notebook 是进行交互式计算与数据分析的强大工具, 而让 Jupyter 灵活多样的关键之一,就是它对不同内核(Kernel)的支持。


(1)什么是 Jupyter Kernel(核或者内核)?

Jupyter Kernel 是一个执行 Jupyter Notebook 里代码的计算引擎。 我们在 Notebook 中输入的所有代码,最终都会交给 Kernel 来执行。 也就是说,想要使用 Jupyter Notebook,必须要为它选择 Kernel。

Jupyter 的默认内核是 Python,但也支持 R、Julia、Ruby 等多种语言。

但虚拟环境 ≠ Kernel。Jupyter 执行代码时,不是直接调用虚拟环境,而是调用 Kernel 对象, 而 Kernel 对象引用的就是虚拟环境的 Python。接下来让我们解释一下这个。

你可以基于某一个虚拟环境创建多个 Kernel。 比如,你在 Python 3.10 的虚拟环境里创建了下面的这些 Kernel:

  • common_kernel ---- 用于日常运行
  • debug_kernel ---- 用于调试
  • tutorial_kernel ---- 用于教学

然后,当你为 Jupyter Notebook 选择 Kernel 时,就可以根据你的场景和需要,选择common_kerneldebug_kernel 或者 tutorial_kernel 了。

实际开发中并不会用一个环境创建多个 Kernel, 大多数人每个环境只创建一个 Kernel,因为足够用了。 但在大型项目或者教学里,多 Kernel 可能会更清晰。


(2)创建 Jupyter 内核

要安装额外的 Python 内核,需要使用 ipykernel 包。

如果你没有,则激活虚拟环境,然后下载 ipykernel 包:

bash
pip install ipykernel

为当前 Python 环境创建一个可供 Jupyter 使用的内核:

bash
python -m ipykernel install --user --name mypython --display-name "Python (mypython)"

其中:

  • mypython 是 kernel 的内部名称
  • "Python (mypython)" 是显示在 Jupyter Notebook 列表中的名字

(3)管理 Kernels

Jupyter 也提供了管理内核的命令。

查看已安装的 Kernel:

bash
jupyter kernelspec list

示例输出:

mypython      /Users/you/Library/Jupyter/kernels/mypython
python3       /usr/local/share/jupyter/kernels/python3

删除一个 Kernel:

bash
jupyter kernelspec remove mypython

4. Python 解释器(Interpreter)

解释器是一个程序,它负责逐行读取、解析并执行代码。 以 Python 为例:

Python 源代码是 .py 文件,是文本形式的指令。 那么 Python 解释器就会逐行读取这些指令,把它们翻译成计算机能执行的操作,然后立即运行。

那么解释器和虚拟环境的关系和区别是什么?⬇️

创建虚拟环境时需要选择一个具体的解释器(比如 Python 3.12),然后用这个解释器去创建虚拟环境。 虚拟环境就是一个独立的空间,里面你会安装和配置很多依赖库。一个解释器可以创建很多个虚拟环境。

虚拟环境会复制或引用该解释器,并在自己的独立空间中管理库。

如果用比喻的话,代码就是食谱,解释器就是一个厨师,厨师读完就做菜。 虚拟环境就是一个厨房,厨师在里面做菜时,添置的调料和工具不会污染其他厨房。


5. 查看自己电脑上的 Python

打开命令行(CMD)或者 PowerShell,输入:

powershell
py -0

img.png

* 表示系统当前默认使用的 Python 版本。

如果你安装了多个 Python,可以用 py -3.9py -3.10 等来明确指定用哪个版本,如:

py -3.10 --version
py -3.10 file.py

6. CMD vs PowerShell

推荐 windows为什么有两个命令行工具?命令提示符与PowerShell有什么区别?


7. VS Code 的详细使用教程

详见 VS Code 官方使用教程


文档:李欣怡、何梁星云

编辑:梁彧祺

Released under the BSD-3-Clause License.