创建 requirements.in 文件
pip-compile 需要一个输入文件,通常是 requirements.in,用于定义顶层依赖(不包含递归依赖)。如果没有这个文件,可以手动创建:
示例:
touch requirements.in
在 requirements.in 中,列出你项目的顶层依赖,例如:
flaskrequestspandas
然后运行:
pip-compile requirements.in
这会生成一个带版本锁定的 requirements.txt。
2. 直接从其他配置文件生成
如果你的项目已经有以下文件之一,可以直接用 pip-compile 处理:
setup.py:定义依赖。
pyproject.toml:如 Poetry 项目使用此文件。
setup.cfg:配置文件格式的依赖定义。
示例:
pip-compile setup.py
或者
pip-compile pyproject.toml
3. 如果只有 requirements.txt
如果没有 .in 文件,只有现成的 requirements.txt 文件,你可以通过以下方法生成一个新的版本锁定文件:
方法 1:手动生成 requirements.in
复制 requirements.txt 的内容到 requirements.in,然后运行:
pip-compile requirements.in
方法 2:直接指定依赖
在没有 .in 文件时,也可以直接在命令行指定依赖:
pip-compile --output-file=requirements.txt flask requests pandas
4. 升级依赖
如果需要升级依赖版本,可以添加 --upgrade 参数:
pip-compile --upgrade requirements.in
5. 确保文件一致性
为了避免出错,建议:
始终明确指定输入文件,例如 requirements.in。
使用 pip-sync 安装和同步依赖,确保环境和 requirements.txt 一致:
pip-sync requirements.txt
6. 常见问题和解决方案
问题:没有 requirements.in 文件
解决:创建一个 requirements.in 文件,列出项目的顶层依赖。问题:输入文件解析错误
解决:确保输入文件内容正确,避免语法错误。
通过以上方法,你可以轻松解决 pip-compile 的输入文件问题,并生成一个稳定的依赖文件。【极全网】
扫一扫在手机打开






