前言 {#前言}
许多 AI 相关的项目、游戏辅助工具都使用 Python 语言开发,迫使我开始接触 Python 的环境搭建。作为一个前端人,我已经对 Node.js、NVM、NPM 等工具再熟悉不过了,但搭建 Python 的过程中还是碰到了不少困难,在此记录一下,让和我一样的前端人能更快地理解 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 2 3 4 5 6 7 8
| channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
|
修改环境位置 {#修改环境位置}
如果你不想让以后安装的依赖占用 C 盘的空间,还需要提前修改环境位置,在上一步的 .condarc
文件中增加两行
|-------------|---------------------------------------|
| 1 2
| envs_dirs: - D:\dev\condaenvs
|
环境创建 {#环境创建}
在开始中搜索 "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 2
| cd /d 项目目录 pip install -r requirements.txt
|
注意 -r
后跟项目依赖声明文件,有可能叫 requirements.txt
,也有可能叫 requirements-prod.txt
,之类的
安装好依赖后,就可以启动项目啦!具体如何启动可以参考项目的 README 文件。
在 bat 中切换 Conda 环境 {#在-bat-中切换-Conda-环境}
有时候我们需要编写 bat 脚本来执行一些自动化任务(例如定时执行),这时我们会发现,由于脚本执行时没有切换到指定的 Conda 环境中,会报 Python 找不到的错误。怎样在 bat 脚本中切换 Conda 环境呢?
|-------------------|------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5
| @ echo off cd /d 项目目录 call D:\dev\anaconda3\Scripts\activate.bat D:\dev\anaconda3 call conda activate 环境名称 python 项目主入口.py
|
替换命令中的 D:\dev\anaconda3
为你的 Conda 安装路径,替换最后一行命令为项目的启动命令
配置 PyCharm {#配置-PyCharm}
如果你和我一样在用 PyCharm 开发工程,还需要在其中配置工程所使用的 Conda 环境
- 在 PyCharm 中打开工程
- 打开 文件-设置-项目-Python 解释器-添加解释器-添加本地解释器
- 选择 Conda 环境,选择
conda.exe
所在位置,然后选择刚才创建好的环境,然后确定
- 回到设置窗口选择刚刚添加好的解释器,大功告成