Python 后端的第一课

46 阅读2分钟

初学者笔记

刚搭建完环境就 出现 zsh: command not found: pip 的原因通常有两个:

  1. Mac 的安全机制:macOS 系统默认不带 pip,或者它被命名为 pip3
  2. 环境变量未指向:虽然你安装了 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