python环境搭建

339 阅读4分钟

最近在学习chatgpt和langchain工具,发现大部分都是使用python编写,并且使用了notebook。工欲善其事,必先利其器,于是决定搭建一个一个完整的python环境,方便阅读代码和源码调试。

python环境搭建

查阅了一些资料后发现,一般都使用Anaconda来安装python环境,主要是因为:

  1. 简化 Python 科学包的管理与部署。Anaconda 包含了许多常用的科学包及其依赖项,无需单独安装和配置。
  2. 提供一个易于使用的环境管理工具Conda。Conda可以方便快速的安装、运行、升级和卸载软件包及其依赖项。
  3. 跨平台兼容。Anaconda 可在 Linux,Mac 和 Windows 上运行。
  4. 包含强大的 Jupyter Notebook。这为交互式编程和数据科学工作流提供了很好的环境。 具体的安装流程,参考# Mac上安装Anaconda最全教程文章安装。

notebook搭建

notebook具有如下优势:

  1. 支持交互式编程:Jupyter Notebook 支持基于浏览器的文本编辑器和代码执行环境相结合。可以像普通文本编辑器一样编辑和修改代码,然后立即执行并查看结果。这大大提高了 Python 程序员的生产力和工作效率。
  2. 整合所有资源:可以将文档、图表、视频和响应的代码都整合在一个文件中,减少管理不同资源的时间。
  3. 扩展性强:Jupyter 支持各种内核,不仅限于 Python。无论是 R,Julia 还是 Scala 等语言都可以轻易在 Jupyter 上运行。同时也有丰富的扩展来丰富其功能。 ... 它深受数据科学家和 Python 开发者的喜爱。它带来的生产力提升和可视化体验,使其成为 Python 生态不可或缺的一员。并且最近在学习langchain的文档时也发现,其文档也是使用了notebook来实现的,每个文档都是一个notebook文件,可以直接下载运行,重现其里面的结果。

上面通过Anaconda已经安装好了python环境,里面就已经集成了jupyter notebook,现在就很容易使用notebook了。

image.png

与vscode集成

熟悉了在编辑器里面写代码了,直接在浏览器里面写代码还是不习惯。并且希望可以在编辑器直接跳转到使用函数,这样可以一边写逻辑,一边熟悉库的实现。那最先想到的自然就是使用vscode了。搜索了一番之后,发现最新版本vscode其实是已经支持notebook了,使用起来也非常方便。也支持代码的跳转。

最终效果如下:

image.png 和浏览器上面写代码一样了,支持智能提示、代码补全等,并且还是可以支持代码跳转等。使用起来非常方便。

注意:使用之前最好选择好python的环境 image.png

断点调试

vscode中自带了notebook的断点调试功能,如下所示

image.png

如果没有上面按钮,可能需要升级下jupyter

但是上面只能在自己的代码文件中设置断点调试,无法跳转到库文件中,搜索了一番后,发现需要做如下设置:

需要设置justMyCode,参考VsCode justMyCode: false无效

在notebook中设置如下:

image.png

设置中反勾选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环境搭建出来了,如下所示:

image.png 支持:

  • 代码提示
  • 代码跳转
  • 断点调试
  • ...

后面学习langchain库和openai等文档也方便和高效了很多。

参考

# Mac上安装Anaconda最全教程

VsCode justMyCode: false无效

修改conda安装路径

conda包安装路径修改