pip install依赖报错Invalid requirement: 'import streamlit as st' 求助
问题原因分析
- requirements.txt内容不符合规范
你收到的报错明确提示文件第一行内容为import streamlit as st,说明你执行命令时读取的requirements.txt文件,实际内容不是你以为的仅包含streamlit,大概率是误将Python代码内容写入、或错把代码文件重命名为了requirements.txt。requirements.txt仅支持填写依赖包名、版本约束,不允许出现Python语法的import语句。 - pip freeze导出内容异常的原因
pip freeze默认会导出当前Python环境下安装的所有第三方包,导出上百个包说明你使用的是全局Python环境,没有为项目创建独立虚拟环境;结果中不存在streamlit,说明你当前使用的Python环境中从来没有安装过streamlit包。
解决方案
- 修正requirements.txt内容:清空文件后仅写入
streamlit即可,若需指定版本可写为streamlit==[版本号],不要添加任何import语句或其他Python代码。如果确认你编辑的文件内容正确依然报错,需检查你执行pip install命令的工作目录,是否和requirements.txt所在目录一致,是否打开/编辑了错误路径的文件。 - 配置项目独立虚拟环境(推荐):
- 在项目根目录执行命令创建虚拟环境:
python -m venv venv - 激活虚拟环境:Windows系统执行
venv\Scripts\activate,macOS/Linux系统执行source venv/bin/activate
- 在项目根目录执行命令创建虚拟环境:
- 安装依赖并导出:虚拟环境激活后,先执行
pip install streamlit完成安装,再执行pip freeze > requirements.txt,此时导出的文件只会包含当前项目的依赖,且会自动包含streamlit及关联依赖。 - 验证:执行
pip install -r requirements.txt即可正常完成依赖安装。
内容的提问来源于stack exchange,提问作者Snowcrash
相关产品推荐
相关产品推荐

