如何要求并安装使用Python3.x distutils的软件包?
我有一个使用包索引中的如何要求并安装使用Python3.x distutils的软件包?,python,python-3.x,distutils,Python,Python 3.x,Distutils,我有一个使用包索引中的dateutil的程序。我想让setup.py检查它是否存在,如果不存在,请尝试使用easy\u install获取它 似乎表明可以使用setup()中的requires关键字来完成此操作,但当我尝试时,它安装在没有dateutil的系统上,而不会发出警告或安装所需的包 我能在谷歌上找到的唯一一件事就是它也没有任何答案 我是否使用了distutils错误?我是否需要为distutils.command.install创建子类并自己检查/安装?自动下载依赖项是一项引入的功能,
dateutil
的程序。我想让setup.py检查它是否存在,如果不存在,请尝试使用easy\u install
获取它
似乎表明可以使用setup()
中的requires
关键字来完成此操作,但当我尝试时,它安装在没有dateutil
的系统上,而不会发出警告或安装所需的包
我能在谷歌上找到的唯一一件事就是它也没有任何答案
我是否使用了
distutils
错误?我是否需要为distutils.command.install创建子类并自己检查/安装?自动下载依赖项是一项引入的功能,它是distutils
的第三方附加功能,尤其是它添加的参数。有关更多信息,请参阅
另一种选择是将file与一起使用,而不是将easy\u install
用作软件包安装程序pip
现在已成为推荐的安装程序;有关更多信息,请参阅
更新[2015-01]:此答案的前一版本提到了设置工具的分发分支。此后,distribute
fork被合并回一个较新的活动setuptools
项目中<代码>分发
现在已失效,不应再使用setuptools
和pip
现在得到了非常积极的维护并支持python3 distutils的setup函数中的参数install\u requires
对我来说很好,只要我创建了sdist distributive,比如:python setup.py sdist
distutils中的requires参数不可用且未使用,在PEP 345被广泛使用之前,您必须使用pip需求文件或setuptools的install_requires参数(它使install_requires得到正式支持,新名称为requires dist;distutils2支持它)。注意:此注释已过时;分发和设置工具已合并。Setuptools现在有了完整的3.x支持。@Kevin,谢谢提醒;自从最初的答案写好后,情况发生了很大的变化。我已经更新了答案,以反映世界的一种更为当前的状态:Distribute和setuptools的合并,distutils2开发的结束,pip作为官方Python包安装程序的祝福,新的Python打包用户指南install\u requires
不是distutils.core.setup
的参数,因此您需要使用@Ned前面提到的setup
的分发版本。您还可以在python中查看。