Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python setuptools:如何指定一个包作为第三方包的别名?_Python_Pip_Setuptools - Fatal编程技术网

Python setuptools:如何指定一个包作为第三方包的别名?

Python setuptools:如何指定一个包作为第三方包的别名?,python,pip,setuptools,Python,Pip,Setuptools,如果我有一个包foobar,我希望它告诉pip/setuptools它还提供包供应商。因此,当我稍后安装另一个依赖于供应商软件包的第三方软件包时,它会看到安装了foobar,因此不会安装供应商软件包。这可能吗?没有这种能力。pip是一个相当简单的包管理器,没有rpm/deb/等高级包管理器的功能。它既没有此包也没有提供…也没有此包过时…也没有此包与…不兼容…唉 唯一的方法是将一个供应商软件包上载到PyPI,该软件包由一个setup.py组成,该setup.py将foobar列为一个依赖项。那么你

如果我有一个包foobar,我希望它告诉pip/setuptools它还提供包供应商。因此,当我稍后安装另一个依赖于供应商软件包的第三方软件包时,它会看到安装了foobar,因此不会安装供应商软件包。这可能吗?

没有这种能力。pip是一个相当简单的包管理器,没有rpm/deb/等高级包管理器的功能。它既没有此包也没有提供…也没有此包过时…也没有此包与…不兼容…唉


唯一的方法是将一个供应商软件包上载到PyPI,该软件包由一个setup.py组成,该setup.py将foobar列为一个依赖项。

那么你是说它不存在?我在或文档中既没有看到提供,也没有看到过时。我在中看到了它们,但我不知道它们是否用于其他用途。@abarnert:有趣的是,看起来这些文档确实在提供和废弃方面撒谎。报告指出,目前还不清楚工具应该如何在开放索引服务器(如PyPI)的上下文中解释它们。因此,流行的安装工具完全忽略了它们,这反过来意味着软件包发布商几乎没有动力对它们进行适当的设置。但是,这些字段保留在元数据规范中,因为它们仍然有潜在的信息用途。因此,虽然这些字段保留在最初引入的PEP 345的PEP 566中,但它们对distutils、setuptools和包管理器都没有意义。“我发现这些文件在这种情况下相当误导,承诺了一些不太真实的东西。”hoefling说。所以我猜简单的答案是,有一种官方的方式告诉pip OP到底想要什么,但这不会有任何好处,因为pip只是会忽略它,而这不太可能改变…