17

我正在尝试使用setup.py sdist. 我已经有了setup.py可以安装的功能。但是当我这样做时sdist,我得到的只是my_project我文件夹中的另一个文件my_project夹,一个MANIFEST我不感兴趣的文件,以及一个包含两个文本文件的 zip 文件,而不是我的项目。

我究竟做错了什么?文档在sdist哪里?

更新:

这是我的setup.py

#!/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='cool-rr@cool-rr.com',
    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
4

2 回答 2

10

Tarek Ziade 在这篇名为“用 Python 编写包”的文章(断开的原始链接)中解释了这一点以及相关的软件打包工具。

基本上,它通过创建一个发布树来创建一个简单的包,其中复制了运行包所需的所有内容。然后将此树存档在一个或多个存档文件中(通常,它只创建一个 tar 球)。存档基本上是源树的副本。

于 2009-10-23T15:17:41.047 回答
7

“sdist”命令用于创建包的“源”分发。通常,可以将此命令与“上传”命令结合使用,以通过 Pypi 分发包(例如)。

于 2009-10-23T15:13:50.040 回答