gpt4 book ai didi

python - 使用 pip 安装 python 包的开发版本,但具有稳定的依赖项

转载 作者:行者123 更新时间:2023-12-03 19:35:09 24 4
gpt4 key购买 nike

背景
pip install命令默认安装最新的稳定版本的 python 包(由 PEP426 指定的稳定版本)

旗帜--prepip install命令告诉 pip 还要考虑发布候选版本和 python 包的开发版本。不过,据我所知,pip install --pre packageA它将安装一个开发版本的 packageA ,但也是其所有依赖项的开发版本。

问题是:

是否可以使用 pip 安装包的开发版本但安装其所有依赖项的稳定版本?

尝试的解决方案

我尝试过的一件事是安装包的稳定版本(具有稳定的依赖项),然后重新安装没有依赖项的开发版本:
pip install packageA
pip install --pre --no-deps --upgrade --force-reinstall packageA
但是,问题在于如果 packageA 的开发版本添加一个新的依赖项,它不会被安装。

我错过了什么?谢谢!

最佳答案

我写了一个脚本来做到这一 pip (pip_install_dev_and_stable_of_dependencies.py):

#!/usr/bin/env python
import os
import sys


def get_installed_packages():
with os.popen('pip freeze') as f:
ss = f.read().strip().split('\n')
return set(i.split('=')[0].strip().lower() for i in ss)


def install_pre_with_its_dependencies_stable(package):
already_installed_packages = get_installed_packages()
os.system('pip install --pre ' + package)
dependencies = ' '.join(
p for p in get_installed_packages()
if p not in already_installed_packages | set([package])
)
os.system('pip uninstall -y ' + dependencies)
os.system('pip install ' + dependencies)


def main():
for p in sys.argv[1:]:
install_pre_with_its_dependencies_stable(p)


if __name__ == '__main__':
main()
用法:
(venv)$ chmod +x pip_install_dev_and_stable_of_dependencies.py
(venv)$ ./pip_install_dev_and_stable_of_dependencies.py pandas

关于python - 使用 pip 安装 python 包的开发版本,但具有稳定的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50365651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com