setup.py安装后脚本和pip安装附加功能

时间:2018-02-20 02:01:07

标签: python pip setuptools post-install

我正在开发一个包含一些可选依赖项和'额外内容的包。

目标: 我希望以下两件事能够发挥作用:

  1. 执行我的安装后代码
  2. 允许'额外内容'安装
  3. 状态:目前我已经能够:

    1. 使用python setup.py installpython setup.py develop执行安装后代码;使用此处的方法https://stackoverflow.com/a/36902139/8473819

    2. 使用pip install PACKAGE[extra]正确安装/管理其他内容或不同的配置包。

    3. 在我的研究中,我没有找到python setup.py允许'额外内容的功能。也没有pip install功能允许我的安装后代码执行。 *已更改,请参阅更新

      备注:

      使用pip 9.0.1,python 3.6

      我的安装后很简单,它只是获取有关可用资源的一些信息,创建文件,并使用print()打印一些反馈。

      问题:我是否错过了某些功能,或者只是通过其中一种安装方法无法干净地完成这两项操作?

      更新

      pip install方法实际上确实执行了我的安装后代码(打印在某处管道传输,只能使用-vvv arg显示)。另一个问题是(除非安装了-e)它使用临时构建目录,如C:\Users\USER\AppData\Local\Temp\pip-ix4d6hv3-build,然后清理它,而不是在本地目录中构建。在这种情况下,我的文件创建不起作用,我无法找到文件的创建位置,或者它被pip清理(我尝试--no-clean得到相同的结果)。

      参考其他人:

      如果从本地目录(不是tar / whl / etc。文件)安装,则将包复制到临时目录,请参阅^ update ^。然后setuptools.command.egg_info中的setup.py子类将在setuptools.command.installsetuptools.command.develop (传递到cmdclass arg)之前执行。

0 个答案:

没有答案