Tim*_*Tim 5 python pip setuptools post-install
我正在开发一个包,它有一些可选的依赖项和“额外”。
目标: 我希望以下两件事起作用:
状态:目前我已经能够:
使用python setup.py install或python setup.py develop执行安装后代码;使用这里的方法/sf/answers/2583149761/
使用pip install PACKAGE[extra]正确安装/管理的额外或不同的封装配置。
在我的研究中,我没有发现python setup.py允许“额外”的功能,也没有发现pip install允许我的安装后代码执行的功能。*已更改,请参阅更新
笔记:
使用 pip 9.0.1,python 3.6
我的安装后很简单,它只是获取有关可用资源的一些信息,创建一个文件,并使用print().
问题:我是否错过了某些功能,或者是否没有一种方法可以仅使用一种安装方法来干净地完成这两个操作?
更新:
该pip install方法实际上执行了我的安装后代码(打印件通过管道传送到某处,仅使用-vvvarg可见)。另一个问题是(除非与 一起安装-e)它使用临时构建目录,C:\Users\USER\AppData\Local\Temp\pip-ix4d6hv3-build然后清理它,而不是在本地目录中构建。在这种情况下,我的文件创建要么不起作用,我一直无法找到文件的创建位置,要么被 pip 清理(我尝试--no-clean过相同的结果)。
供他人参考:
如果从本地目录(不是 tar/whl/etc. 文件)安装,软件包将被复制到一个临时目录,参见 ^update^。然后setuptools.command.egg_info子类 insetup.py将在setuptools.command.installor setuptools.command.develop (passed in cmdclassarg)之前执行。