前端人的 Python、Conda 环境搭建
前言
许多 AI 相关的项目、游戏辅助工具都使用 Python 语言开发,迫使我开始接触 Python 的环境搭建。作为一个前端人,我已经对 Node.js、NVM、NPM 等工具再熟悉不过了,但搭建 Python 的过程中还是碰到了不少困难,在此记录一下,让和我一样的前端人能更快地理解 Python 的生态体系。
Python 生态
- Python: Python 解释器和运行时环境,对应前端体系中的 Node.js,官网 www.python.org
- Pip: Python 的包管理工具,对应前端体系中的 NPM,官网 pypi.org
- Conda: 用于管理 Python 环境,对应前端体系中的 NVM,但又略有区别
NPM 在安装项目依赖时,会安装在项目的 node_modules 目录下,也就是局部安装,各个项目之间互相不影响,而 Pip 则是默认装在全局,这和前端的思维不一致。装在全局会造成多个项目的管理不便,各个项目之间依赖冲突、相同依赖的不同版本无法同时存在。
为了解决这个问题,Conda 就出现了,它可以创建完全隔离的多个不同的 Python 环境,每个环境可以指定不同的 Python 版本,每个环境所安装的依赖也相互隔离。
环境安装
为了搭建 Python 环境,新手往往会先想到安装 Python,但实际上 Conda 已经内置了 Python,我们 只需要安装一个 Conda,就完成环境安装了。
Conda 有三个发行的安装包,分别是 Anaconda、Miniconda、Miniforge,其中 Anaconda 最出名,它已经内置了数千个常用的科学计算依赖包,属于是开箱即用,但缺点是安装包体积达到了惊人的 912 MB。
Miniconda 就比较小巧了,它没有内置常用依赖,体积也降到了 85 MB,对于我这种需求不高的用户,显然更合适。
- 下载 Miniconda: https://docs.anaconda.com/miniconda/#latest-miniconda-installer-links
- 安装时有一步 Advanced Installation Options,建议选中 “Clear the package cache upon completion”,可以节省部分硬盘空间
修改软件源
和 NPM 一样,默认的国外软件源在国内是无法流畅使用的。我们需要在用户根目录(C:\Users\你的用户名
)创建一个 .condarc
文件,输入以下内容来切换成国内源
1 | channels: |
修改环境位置
如果你不想让以后安装的依赖占用 C 盘的空间,还需要提前修改环境位置,在上一步的 .condarc
文件中增加两行
1 | envs_dirs: |
环境创建
在开始中搜索 “anaconda”,找到 “Anaconda Prompt (miniconda3)” 并打开,然后执行
1 | conda create -n 环境名称 python=3.12 -y |
替换命令中的环境名称为你定义的环境名称,替换命令中的 3.12 为你需要的 Python 版本
这样就完成环境的创建了,执行 conda env list
可以查看环境列表
环境切换
仍然是在 Anaconda Prompt 中执行
1 | conda activate 环境名称 |
这样就切换到了对应的环境中
依赖安装
仍然是在 Anaconda Prompt 中执行
1 | cd /d 项目目录 |
注意 -r
后跟项目依赖声明文件,有可能叫 requirements.txt
,也有可能叫 requirements-prod.txt
,之类的
安装好依赖后,就可以启动项目啦!具体如何启动可以参考项目的 README 文件。
在 bat 中切换 Conda 环境
有时候我们需要编写 bat 脚本来执行一些自动化任务(例如定时执行),这时我们会发现,由于脚本执行时没有切换到指定的 Conda 环境中,会报 Python 找不到的错误。怎样在 bat 脚本中切换 Conda 环境呢?
1 | @echo off |
替换命令中的 D:\dev\anaconda3
为你的 Conda 安装路径,替换最后一行命令为项目的启动命令
配置 PyCharm
如果你和我一样在用 PyCharm 开发工程,还需要在其中配置工程所使用的 Conda 环境
- 在 PyCharm 中打开工程
- 打开 文件-设置-项目-Python 解释器-添加解释器-添加本地解释器
- 选择 Conda 环境,选择
conda.exe
所在位置,然后选择刚才创建好的环境,然后确定
- 回到设置窗口选择刚刚添加好的解释器,大功告成
前端人的 Python、Conda 环境搭建