Python 模块:在安装过程中使用,但不能安装



如何向 Setuptools 指定模块在安装过程中应该可用,但不在运行时安装?

我已经制作了一个由我的 Python 发行版使用的扩展命令(在这种情况下,它会自动生成版本元数据),并且该模块包含在项目树中。

foo-project/
    setup.py
    MANIFEST.in
    foo/
        __init__.py
        bar.py
    version_info.py

要运行 Setuptools 命令(如 egg_infodevelop ),version_info 模块由 setup 导入。因此,该文件version_info.py需要成为源代码分发的一部分。

但是将该文件放在源代码发行版中也会(默认情况下?)自动将其包含在任何二进制发行版中,例如 bdist_wheelbdist_dumb 。这是错误的,因为该文件在运行时不需要,也不应该安装。

如何指定该文件是安装命令的源代码分发中需要但未安装的 Python 模块?

您可以在MANIFEST.in文件中包括源分发文件;在构建包含setup.py文件的源分发时,将包括这些文件。

不要将文件包含在data_filespackage_datapy_modules中,也不会包含在二进制分发中(就像setup.py

不会一样)。

最新更新