如何使用setuptools分发特定文件?

时间:2019-03-14 18:05:13

标签: python pip setuptools

我想使用我的setup.py分发python软件包,用户可以在其中选择要安装的模块。

就我而言,我拥有测试模块,该模块仅在少数情况下有用,因此分发该模块没有意义。

我可以通过packages=find_packages(exclude=("conans.test*",))轻松排除该模块。但是,我无法动态分发它。

我的想法是,打包所有文件,但仅根据pip命令安装。我只想在配置额外模块时安装测试模块:

pip install package[test]

否则,它将不会安装测试模块。

当我说测试模块时,它表示包含所有这些测试的文件夹,而不是requirements_test.txt文件。

可以使用setuptools吗?

致谢!

1 个答案:

答案 0 :(得分:1)

感谢hoefling

由于可以创建动态软件包,因此我发现最好的方法是在安装软件包后运行脚本:

https://github.com/uilianries/conan-ldap-authentication/blob/master/setup.py#L40