为什么 find_packages(exclude=xxx) 在执行 setup.py sdist 时不起作用?
Why find_packages(exclude=xxx) does not work when doing setup.py sdist?
我正在打包我的源代码,但我不想包含测试和文档,因为它们太大了。
为此,我在 setup.py 中包含:
setup(...
packages=find_packages(exclude=['tests.*','tests','docs.*','docs']),
...
)
做
python setup.py sdist
我可以看到我的根目录 tests/ 和 docs/ 目录以及里面的所有内容仍然包含在生成的分发中。
好像只有
python setup.py bdist
对排除参数敏感。
为什么?是否可以排除 'setup.py sdist' 的目录?
我通过删除 *.egg-info/ 目录解决了这个问题:似乎这个目录记住了一些旧的设置...
我遇到了同样的问题,但我很笨,误用了 exclude
参数。
如果你有
packages=setuptools.find_packages(exclude="tests")
您将排除目录 "t", "e", "s", "t", "s"
你应该拥有的是:
packages=setuptools.find_packages(exclude=["tests"])
我正在打包我的源代码,但我不想包含测试和文档,因为它们太大了。
为此,我在 setup.py 中包含:
setup(...
packages=find_packages(exclude=['tests.*','tests','docs.*','docs']),
...
)
做
python setup.py sdist
我可以看到我的根目录 tests/ 和 docs/ 目录以及里面的所有内容仍然包含在生成的分发中。
好像只有
python setup.py bdist
对排除参数敏感。
为什么?是否可以排除 'setup.py sdist' 的目录?
我通过删除 *.egg-info/ 目录解决了这个问题:似乎这个目录记住了一些旧的设置...
我遇到了同样的问题,但我很笨,误用了 exclude
参数。
如果你有
packages=setuptools.find_packages(exclude="tests")
您将排除目录 "t", "e", "s", "t", "s"
你应该拥有的是:
packages=setuptools.find_packages(exclude=["tests"])