首页 > 解决方案 > 如何使用用户输入指定在 setup.py 文件中安装的文件夹/包?

问题描述

我是 setuptools 的新手,我需要根据用户输入创建包。这是我的文件结构:

PackagingProject
--src
  --package1
    --__init__.py
  --package2
    --__init__.py
  --package3
    --__init__.py
  --package4
    --__init__.py
  --__init__.py
--pyproject.toml
--setup.py

这是我的 setup.py 文件:

from setuptools import setup, find_packages

setup(
    name="mmabbas23456",
    version="0.0.1",
    author="Example Author",
    author_email="author@example.com",
    description="A small example package",

    packages= find_packages(
        include=["src",'src*']
        ),
    include_package_data=True,
    python_requires=">=3.6",
)

我使用这个命令来构建发行版: “python setup.py sdist bdist_wheel”

众所周知,此构建将包含 src 文件夹中的所有内容,包括所有子文件夹(因为它们都包含init .py 文件)。

我需要做的是能够使用用户输入指定要包含在包中的文件夹。例如,如果我只想打包 package1 和 package2,我应该可以从命令行执行此操作。基本上,我正在寻找一种使 find_packages() 函数动态化的方法。

我只能有一个 setup.py 文件,但我不确定我现在拥有的结构是否适合我的问题。如果 setup.py 位于 src 文件夹中来完成这项工作会更好吗?

正如我所说,我是 setuptools 的新手,所以如果我上面使用的任何术语不正确,请原谅我。如果我在任何地方错了,请随时纠正我,因为这将帮助我更好地掌握该主题。

提前致谢!

标签: pythonsetuptoolssetup.pypython-packaging

解决方案


推荐阅读