setup.py sdist排除子目录中的包

 天生笑丷丶话 发布于 2022-12-15 15:37

我有以下项目结构我想打包:

??? doc
?   ??? source
??? src
?   ??? core
?   ?   ??? config
?   ?   ?   ??? log.tmpl
?   ?   ??? job
?   ??? scripts
?   ??? test
??? tools

我想包coresrc,但排除test.这是我尝试失败的原因:

      setup(name='core',
      version=version,  
      package_dir = {'': 'src'}, # Our packages live under src but src is not a package itself
      packages = find_packages("src", exclude=["test"]), # I also tried exclude=["src/test"]
      install_requires=['xmltodict==0.9.0',
                        'pymongo==2.7.2',
                        'ftputil==3.1',
                        'psutil==2.1.1',
                        'suds==0.4',
                        ],
      include_package_data=True,
      )

我知道我可以排除test使用MANIFEST.in文件,但如果你能告诉我如何使用setup和,我会很高兴find_packages.

更新:

经过一些游戏后,我意识到构建包装的python setup.py install做法符合我的预期(也就是说,它排除了test).但是,发布会python setup.py sdist导致包含所有内容(即忽略我的exclude指令).我不知道它是一个bug还是一个功能,但仍有可能在sdist使用时排除文件MANIFEST.in.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有