仅在需要时从文件中进行 pip 安装
Posted
技术标签:
【中文标题】仅在需要时从文件中进行 pip 安装【英文标题】:pip install from a file only if needed 【发布时间】:2014-09-23 01:06:47 【问题描述】:我有一个用于 pip 的包文件 (dependencies.conf),其中包括我的应用所需的一堆包:
argparse==1.2.1
Cython==0.20.2
...
在我的构建过程中,我使用以下方式下载所有包:
pip install --download=build/modules -r conf/dependencies.conf
然后在部署过程中,我只想在安装的版本与我需要的版本不同并且以正确的顺序(依赖项)时安装这些文件
我目前正在使用以下内容:
for f in modules/*; do pip install -I $f; done
但这是错误的,因为它不验证版本(-我在那里是为了在需要时降级包)并且它不处理正确的依赖顺序。
有没有一种简单的方法可以做到这一点? (我基本上是在尝试更新没有互联网连接的机器中的软件包)
【问题讨论】:
【参考方案1】:使用 PIP 获取版本,使用以下命令
例如。点冻结| grep Jinja2 Jinja2==2.6
如以下链接中所述Find which version of package is installed with pip
然后将其与版本进行比较,并在必要时使用适当的版本运行 pip install
【讨论】:
谢谢,但问题比这要复杂一些。首先,我下载了所有的包(包括依赖项),然后我需要安装下载的包但我不知道正确的顺序(根据依赖项)以上是关于仅在需要时从文件中进行 pip 安装的主要内容,如果未能解决你的问题,请参考以下文章
Docker如何仅在发生更改时运行pip requirements.txt?