首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python setup.py sdist仅包含来自顶级模块的.py源代码

python setup.py sdist仅包含来自顶级模块的.py源代码
EN

Stack Overflow用户
提问于 2013-01-28 08:09:12
回答 3查看 9K关注 0票数 30

我有一个setup.py:

代码语言:javascript
复制
from setuptools import setup

setup(
      ...
      packages=['mypackage'],
      test_suite='mypackage.tests',
      ...
    )

python setup.py sdist创建了一个文件,该文件只包含来自顶级mypackage的源模块,而不包含mypackage.tests或任何其他子模块。

我做错了什么?

使用python 2.7

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-28 08:12:13

使用find_packages() function

代码语言:javascript
复制
from setuptools import setup, find_packages

setup(
    # ...
    packages=find_packages(),
)

该函数将搜索python包(包含__init__.py文件的目录),并将其作为格式正确的列表返回。它将在与setup.py脚本相同的目录中启动,但可以为其提供一个显式的启动目录,如果您需要它来跳过某些内容,还可以指定排除模式。

票数 31
EN

Stack Overflow用户

发布于 2013-01-29 23:11:56

对于使用纯distutils而不是setuptools的人:您必须在packages参数中传递所有包和子包(但不是所有子模块,它们都会被检测到)的列表。

票数 3
EN

Stack Overflow用户

发布于 2018-10-08 07:08:55

只需在packages列表中包含您的所有子模块:

代码语言:javascript
复制
from setuptools import setup

setup(
      ...
      packages=['mypackage', 'mypackage.tests', 'mypackage.submodules'],
      ...
     )
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14553787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档