How to make python setuptools find top level modules

Deadly 提交于 2021-01-27 15:11:15

问题


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

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(),
)

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.

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


回答1:


Thank you all for your responses.

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

Now using find_packages() works as expected. Thanks!



来源:https://stackoverflow.com/questions/28573040/how-to-make-python-setuptools-find-top-level-modules

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!