python wheel反依赖

时间:2019-01-31 11:38:47

标签: python pip dependencies dependency-management python-wheel

我正在管理一个python项目,该项目可以两种不同的版本(“完整”和“轻量”)发布,例如my-projectmy-project-lw。两者都使用相同的顶级名称,例如myproject。我有一个脚本,该脚本切断了项目的“繁重”部分,并构建了两个具有依赖关系的可轮转安装的归档文件(轻量级文件的数量少得多)。一切正常,我可以用轮子安装它们。

现在,我要确保用户不会同时安装两个软件包。理想情况下,我希望pip在安装另一个时要卸载一个,或者至少在存在另一个时失败(这样用户就必须手动卸载当前版本)。

否则,当您安装my-project软件包时,它会安装到/lib/python3.6/site-packages/myproject中,然后当您安装my-project-lw软件包时,它会覆盖同一文件夹中的文件,因此您会得到一个奇怪的混合文件当某些文件来自“完整”文件,而某些文件来自“ lightweigth”文件,则不好。

是否有一种方法可以指定反依赖性?要以某种方式将它们标记为互斥的?谢谢!

1 个答案:

答案 0 :(得分:1)

Pip不支持。另请参阅相关的“过时”元数据。 https://github.com/pypa/packaging-problems/issues/154