初学者笔记
刚搭建完环境就 出现 zsh: command not found: pip 的原因通常有两个:
- Mac 的安全机制:macOS 系统默认不带
pip,或者它被命名为pip3。 - 环境变量未指向:虽然你安装了 Python,但终端还不知道
pip命令在哪里。
让我们用最标准的方式解决它,并养成专业的开发习惯。
方法 A:直接尝试使用 pip3(最快)
在 Mac 上,Python 3 的包管理器通常默认叫 pip3。
Bash
pip3 install "fastapi[standard]"
方法 B:使用 Python 模块方式运行(最稳)
如果 pip3 也不行,直接调用 python 程序来运行 pip。这能确保包被安装到你当前使用的 Python 环境中:
Bash
python3 -m pip install "fastapi[standard]"
作为后端开发,永远不要把第三方库直接安装到系统全局。如果以后项目多了,库的版本冲突会让你非常头疼。
建议你现在就开始使用 虚拟环境 (Virtual Environment) 。请在你的项目文件夹下执行以下三步:
1. 创建虚拟环境
Bash
python3 -m venv venv
执行后,你会发现文件夹里多了一个 venv 目录。
2. 激活虚拟环境
Bash
source venv/bin/activate
激活后,你的终端提示符前面应该会出现 (venv) 字样。 此时,你直接输入 pip 肯定就能用了,因为它指向的是虚拟环境内部。
🎨 为什么必须这样做?
- 系统环境:像是一台精密的服务器主机,不要乱动。
- 虚拟环境 (.venv) :像是你为每个项目租的“集装箱”。你在集装箱里怎么折腾,都不会影响主机。
- 阿里云实战意义:将来你把项目放到阿里云上,也是同样的操作。你会把代码和
requirements.txt传上去,在云端也创建一个venv,确保开发环境和生产环境 100% 一致。
3. 在虚拟环境内安装 FastAPI
Bash
pip3 install "fastapi[standard]"
💡 为什么后端开发必须用虚拟环境?
- 隔离性:项目 A 用 FastAPI 0.100,项目 B 用 FastAPI 0.110,互不干扰。
- 阿里云同步:你可以通过
pip freeze > requirements.txt生成清单。到了阿里云服务器上,只需执行pip install -r requirements.txt,环境就一模一样了。
💡 小贴士:如何退出?
- 退出环境:如果你写完代码了,输入
deactivate即可回到系统环境。 - 下次回来:当你重新打开终端进入这个文件夹时,记得再次运行
source .venv/bin/activate。