如何指定Setuptools模块在安装过程中应该可用,但是没有为运行时安装?
我已经使用了我的Python发行版使用的扩展命令(在这种情况下它会自动生成版本元数据),并且该模块包含在项目树中。
foo-project/
setup.py
MANIFEST.in
foo/
__init__.py
bar.py
version_info.py
要运行Setuptools命令(例如egg_info
或develop
),version_info
模块将由setup
导入。因此,文件version_info.py
必须是源代码分发的一部分。
但是将该文件放入源代码分发中(默认情况下?)会自动将其包含在任何二进制分发中,例如bdist_wheel
或bdist_dumb
。这是错误的,因为在运行时不需要该文件,不应该安装。
如何指定文件是安装命令的源代码发布中所需的Python模块,但不能安装?
答案 0 :(得分:3)
您可以在MANIFEST.in
file中添加源分发文件;构建包含setup.py
文件的源代码分发时,会包含这些文件。
请勿将文件包含在data_files
或package_data
或py_modules
中,并且不会将其包含在二进制分发中(就像setup.py
赢了&#39 ;是)。