python - 如何使用 setuptools 分发特定文件?
问题描述
我想使用我的 setup.py 分发一个 python 包,用户可以在其中选择要安装的模块。
就我而言,我有测试模块,它仅在少数情况下有用,因此分发该模块没有意义。
我可以很容易地排除模块 packages=find_packages(exclude=("conans.test*",))
。但是,我无法动态分发它。
我的想法是,打包所有文件,但只根据 pip 命令安装。我想安装测试模块,只有在配置了额外的时:
pip install package[test]
否则,它不会安装测试模块。
当我说测试模块时,它是指包含所有这些测试的文件夹,而不是 requirements_test.txt 文件。
是否可以使用 setuptools?
问候!
解决方案
感谢hoefling!
由于可以创建一个动态包,我发现最好的方法是在安装包后运行一个脚本:
https://github.com/uilianries/conan-ldap-authentication/blob/master/setup.py#L40
推荐阅读
- python - 使用双星运算符从字典中命名元组:嵌套字段是否也解包?
- c - 需要帮助将 txt 文件重定向到 3 个不同大小的结构数组(结构中的元素数)
- vue.js - vue-google-autocomplete & nuxt 2.1.0 - 无法 nuxt 生成它 - 加载页面时出错
- java - 改造 2 调用 onFailure 即使正确的数据来自服务器
- python - 为分组条形图重新排列 pandas 数据框
- ionic3 - ionic3 - inappBrowser - IOS 文件不加载
- javascript - 从部分响应中播放音频并在完成后保存缓冲区
- spring-mvc - Spring Thymeleaf 依赖覆盖 Eureka 模板?
- r - R ggplot2 两级分面换行
- php - Symfony 嵌入式表单