在 requirements.txt 中强制重新安装 pip
Posted
技术标签:
【中文标题】在 requirements.txt 中强制重新安装 pip【英文标题】:pip force reinstall in requirements.txt 【发布时间】:2018-11-10 00:14:54 【问题描述】:我有一个 requirements.txt 文件,其中有一些 git+ 引用。出于某种原因,我想总是重新安装这些,即使我进行了更改并修改版本并将其推送到我的 github 存储库,pip 说要求已经满足并且不安装。
这是我的 requirements.txt 文件的一部分:-
Django==1.10
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
我不想重新安装 requirements.txt 文件中的所有内容。只有 git+ 要求。
我试过这个:-
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg --install-option="--upgrade --ignore-installed --force-reinstall"
但以上选项均无效。
【问题讨论】:
最简单的方法就是运行pip install --upgrade -r requirements.txt
。这将重新安装 git 依赖项。
好的。但我正在使用 AWS Elasticbeanstalk,无法找到覆盖 pip install 命令执行的方法。有什么想法吗?
你可以先卸载那些包。见this answer
【参考方案1】:
问题是你没有告诉pip
你在git里有什么版本:
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
对于 VCS URLs pip
不会查看 repo 来查找版本,它只查看 URL:
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg-version
示例:
git+https://github.com/myaccount/myrepo.git@master#egg=package-1.0.8
当您将新版本推送到 Github 时,请使用新版本更新您的 requirements.txt
并运行 pip install -r requirements.txt -U
。
【讨论】:
【参考方案2】:可能一种选择是以可编辑模式安装包,例如
Django==1.10
-e git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
【讨论】:
【参考方案3】:我用这个:
pip install -r requirements.txt
你可以使用类似的东西:
pip install -r requirements.txt --no-index --find-links
--no-index
- 忽略包索引(只查看 --find-links 网址)。
-f
, --find-links <URL>
- 如果是 html 文件的 URL 或路径,则解析指向档案的链接
【讨论】:
以上是关于在 requirements.txt 中强制重新安装 pip的主要内容,如果未能解决你的问题,请参考以下文章
Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt
Ubuntu 下生成 python 环境安装文件 requirements.txt