我正在尝试使用setup.py sdist对我的项目进行源代码分发。我已经有了一个可以安装的功能。但是当我执行setup.py时,我得到的只是我的sdist文件夹中的另一个my_project文件夹,一个我不感兴趣的my_project文件,以及一个包含两个文本文件的zip文件,而不是我的项目。
我做错什么了?MANIFEST上的文档在哪里?
更新:
这是我的:

#!/usr/bin/env python

import os
from distutils.core import setup
import distutils
from general_misc import package_finder

try:
    distutils.dir_util.remove_tree('build', verbose=True)
except:
    pass

my_long_description = \
'''\
GarlicSim is a platform for writing, running and analyzing simulations. It can
handle any kind of simulation: Physics, game theory, epidemic spread,
electronics, etc.
'''

my_packages = package_finder.get_packages('', include_self=True,
                                          recursive=True)

setup(
    name='GarlicSim',
    version='0.1',
    description='A Pythonic framework for working with simulations',
    author='Ram Rachum',
    author_email='[email protected]',
    url='http://garlicsim.org',
    packages=my_packages,
    package_dir={'': '..'},
    license= "LGPL 2.1 License",
    long_description = my_long_description,

)

try:
    distutils.dir_util.remove_tree('build', verbose=True)
except:
    pass

最佳答案

TarekZiade在名为用python编写包的this article中解释了这一点以及相关的软件打包工具。
基本上,它通过
创建一个发布树,在其中复制运行包所需的所有内容。然后将此树归档到一个或多个归档文件中(通常,它只创建一个tar-ball)。存档基本上是源树的副本。

关于python - `setup.py sdist`如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1614086/

10-10 16:43