pip install 装完,代码跑起来报 AttributeError,查半天发现是新版把旧参数删了。重装回原来的版本,两分钟解决,pip install 指定版本就能搞定。

等号的数量有讲究

指定精确版本用两个等号:pip install requests==2.31.0。范围可以组合,pip install 包名>=2.28,<2.32 会装区间里的最新版。波浪号 ~=2.31.0 表示允许末尾一位变化,2.31.x 都能装。Windows 的 cmd 里要把整段用引号包住,不然 > 会被当成重定向。

不知道有哪些版本,可以先 pip install 包名==999,报错里会列出可用版本,再挑一个装。pip 21.2 以后也能用 pip index versions 包名 查。装老版本前看一眼它支持的 Python 版本,3.8 装不了只支持 3.10 的新包。

pip install requests==2.31.0; pip download requests==2.31.0 -d ./pkgs

装完固定到 requirements.txt

pip freeze > requirements.txt 会把当前环境所有包和版本写进去,换机器 pip install -r requirements.txt 一次装齐。项目最好用 venv 隔离,别把系统 Python 装乱。依赖冲突时先看报错链,按提示降级或升级,不要一个个瞎试。装错了要退回,直接重装指定版本就行,必要时加 --force-reinstall。pip list 能看到当前装的版本,pip show 包名 能看依赖和安装路径。

内网和镜像源的问题

公司网络装不上,多半是默认源连不通或者要走代理,加 -i 指向内部镜像。报 Could not find a version that satisfies the requirement,先确认包名拼写,再看当前 python --version。离线机器用 pip download 把 whl 文件下好,拷过去再装。

版本不是越新越好,能跑通测试的那套就是好版本。生产环境固定版本号,升级前先在测试环境验证一遍。