最近在学习chatgpt和langchain工具,发现大部分都是使用python
编写,并且使用了notebook
。工欲善其事,必先利其器,于是决定搭建一个一个完整的python
环境,方便阅读代码和源码调试。
python环境搭建
查阅了一些资料后发现,一般都使用Anaconda
来安装python环境,主要是因为:
- 简化 Python 科学包的管理与部署。Anaconda 包含了许多常用的科学包及其依赖项,无需单独安装和配置。
- 提供一个易于使用的环境管理工具Conda。Conda可以方便快速的安装、运行、升级和卸载软件包及其依赖项。
- 跨平台兼容。Anaconda 可在 Linux,Mac 和 Windows 上运行。
- 包含强大的 Jupyter Notebook。这为交互式编程和数据科学工作流提供了很好的环境。 具体的安装流程,参考# Mac上安装Anaconda最全教程文章安装。
notebook搭建
notebook具有如下优势:
- 支持交互式编程:Jupyter Notebook 支持基于浏览器的文本编辑器和代码执行环境相结合。可以像普通文本编辑器一样编辑和修改代码,然后立即执行并查看结果。这大大提高了 Python 程序员的生产力和工作效率。
- 整合所有资源:可以将文档、图表、视频和响应的代码都整合在一个文件中,减少管理不同资源的时间。
- 扩展性强:Jupyter 支持各种内核,不仅限于 Python。无论是 R,Julia 还是 Scala 等语言都可以轻易在 Jupyter 上运行。同时也有丰富的扩展来丰富其功能。 ... 它深受数据科学家和 Python 开发者的喜爱。它带来的生产力提升和可视化体验,使其成为 Python 生态不可或缺的一员。并且最近在学习langchain的文档时也发现,其文档也是使用了notebook来实现的,每个文档都是一个notebook文件,可以直接下载运行,重现其里面的结果。
上面通过Anaconda
已经安装好了python环境,里面就已经集成了jupyter notebook
,现在就很容易使用notebook了。
与vscode集成
熟悉了在编辑器里面写代码了,直接在浏览器里面写代码还是不习惯。并且希望可以在编辑器直接跳转到使用函数,这样可以一边写逻辑,一边熟悉库的实现。那最先想到的自然就是使用vscode了。搜索了一番之后,发现最新版本vscode其实是已经支持notebook了,使用起来也非常方便。也支持代码的跳转。
最终效果如下:
和浏览器上面写代码一样了,支持智能提示、代码补全等,并且还是可以支持代码跳转等。使用起来非常方便。
注意:使用之前最好选择好python的环境
断点调试
vscode中自带了notebook的断点调试功能,如下所示
如果没有上面按钮,可能需要升级下jupyter
但是上面只能在自己的代码文件中设置断点调试,无法跳转到库文件中,搜索了一番后,发现需要做如下设置:
需要设置justMyCode
,参考VsCode justMyCode: false无效
在notebook中设置如下:
设置
中反勾选Jupyter: Debug Just My Code
如果需要再python代码实现断点调试也需要配置justMyCode
,配置如下:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false,
"purpose": [
"debug-in-terminal"
]
}
]
}
运行
=>添加配置
=>lanch.json
文件中修改justMyCode=true
,并且添加debug-in-terminal
效果
最终一个比较好用的python环境搭建出来了,如下所示:
支持:
- 代码提示
- 代码跳转
- 断点调试
- ...
后面学习langchain库和openai等文档也方便和高效了很多。
参考
conda包安装路径修改