如何让python setuptools找到顶级模块 [英] How to make python setuptools find top level modules

查看:69
本文介绍了如何让python setuptools找到顶级模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个结构(简化)如下所示的包:

I have a package with a structure that would (simplified) look like:

mypackage/
    __init__.py
    setup.py
    module1.py
    module2.py
    mysubpackage/
        __init__.py
        mysubmodule1.py
        mysubmodule2.py

我正在使用 setup.py 的配置,如下所示:

I'm using a configuration for setup.py like this:

from setuptools import setup, find_packages

setup(
    name = "mypackage",
    version = "0.1",
    author = "Foo",
    author_email = "foo@gmail.com",
    description = ("My description"),
    packages=find_packages(),
)

find_packages() 的默认 where 参数是 '.',但它不包括我的顶级模块(module1.py 或 module2.py).但是,在运行 python setup.py build 时会添加所有子模块和子包.

The default where argument for find_packages() is '.', but it doesn't include my top-level modules (module1.py nor module2.py). However, all child submodules and subpackages are added when running python setup.py build.

如何在不将 setup.py 上移一级的情况下也添加顶级 Python 模块?

How could I get top-level Python modules added too, without moving setup.py one level higher?

推荐答案

感谢大家的回复.

最后,我添加了一个包含 mypackage 和 setup.py 模块的目录(不是 Python 包).现在的结构如下所示:

Finally, I added a directory (not Python package) containing mypackage and the setup.py module. The structure now looks as follows:

myapp/
    setup.py
    mypackage/
        __init__.py
        module1.py
        module2.py
        mysubpackage/
            __init__.py
            mysubmodule1.py
            mysubmodule2.py

现在使用 find_packages() 可以正常工作.谢谢!

Now using find_packages() works as expected. Thanks!

这篇关于如何让python setuptools找到顶级模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆