Как работает `setup.py sdist`? - PullRequest
       17

Как работает `setup.py sdist`?

9 голосов
/ 23 октября 2009

Я пытаюсь сделать исходный текст моего проекта с 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

Ответы [ 2 ]

7 голосов
/ 23 октября 2009

Тарек Зиаде объяснил это и связанные с ним инструменты упаковки программного обеспечения в этой статье под названием «Написание пакета в Python».

По сути, это создает простой пакет создание дерева релизов, куда копируется все необходимое для запуска пакета. Затем это дерево архивируется в один или несколько архивных файлов (часто оно просто создает один tar-шар). В основном архив является копией исходного дерева.

4 голосов
/ 23 октября 2009

команда "sdist" предназначена для создания "исходного" дистрибутива пакета. Обычно эту команду можно комбинировать с командой «upload» для распространения пакета через Pypi (например).

...