【问题标题】:Generating root level package in python using setuptools使用 setuptools 在 python 中生成根级包
【发布时间】:2020-03-31 03:59:10
【问题描述】:

我正在尝试为我的 python 项目生成包。我的项目结构如下:

src
 -controller
   -handlers
     -subfolder1
       -file1
     -subfolder2
       -file2
     -setup.py
     -init.py

handlers 是一个 python 包。我省略了 init.py 只是为了提问,setup.py 有以下代码:

setup(name='handlers',
    version='1.0',
    description='AWS Lambda ',
    packages=find_packages(),
    install_requires=['structlog==19.2.0', 'python-json-logger==0.1.10'],
    include_package_data=True,
    zip_safe=False)

我正在尝试在父级别生成称为处理程序的包。例如:包含 subfolder1 和 subfolder2 的包名称处理程序。我正在使用 pycharm 中的 AWS sam 工具包来构建 lambda 以进行本地部署和测试。

handlers
 -subfolder1
 -subfolder2

但它会单独生成带有子文件夹的包,例如

-subfolder1
-subfolder2

如何在根/父级生成包?任何帮助将不胜感激。

【问题讨论】:

  • __init__.py 文件用于通过find_packages() 识别包。您可以更新您的项目结构以包含这些吗?

标签: python pip setuptools aws-sam aws-toolkit


【解决方案1】:

要将handlers 包含为顶级包,您需要将setup.py 上移一级。来自

handlers
 -subfolder1
 -subfolder2
 -setup.py

handlers
 -subfolder1
 -subfolder2
setup.py

cd handlers
mv setup.py ..
cd ..
python setup.py sdist bdist_wheel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-12
    • 2020-08-20
    • 2018-08-03
    • 1970-01-01
    • 2019-12-13
    • 2017-07-12
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多