擅长:python、mysql、java
<p>旧问题,新答案:</p>
<p>不,你不需要<code>MANIFEST.in</code>。然而,要想让<code>setuptools</code>达到您(通常)的意思,您确实需要使用<code>setuptools_scm</code>,它在两个关键位置扮演<code>MANIFEST.in</code>的角色:</p>
<ul>
<li>它确保在运行<code>sdist</code>命令时打包所有相关文件(其中所有相关文件都定义为“受源代码管理的所有文件”)</li>
<li>当使用<code>include_package_data</code>将包数据包含在<code>build</code>或<code>bdist_wheel</code>中时。(同样:受源代码管理的文件)</li>
</ul>
<p>对<code>MANIFEST.in</code>的历史理解是:当您没有源代码管理系统时,您需要一些其他机制来区分“源文件”和“恰好位于工作目录中的文件”。但是,您的项目受源代码管理(对吗?)所以不需要<code>MANIFEST.in</code>。<a href="http://www.remarkablyrestrained.com/python-setuptools-manifest-in/" rel="nofollow noreferrer">More info in this article</a>。</p>