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

时间:2015-01-13 19:35:46

标签: python setuptools

如何指定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模块,但不能安装?

1 个答案:

答案 0 :(得分:3)

您可以在MANIFEST.in file中添加源分发文件;构建包含setup.py文件的源代码分发时,会包含这些文件。

请勿将文件包含在data_filespackage_datapy_modules中,并且不会将其包含在二进制分发中(就像setup.py赢了&#39 ;是)。