Posted by & filed under python.

Создание из .py исходников пакета

python setup.py dist

Кастомизация сборщика пакета:
использование параметров коммандной строки

python setup.py dist --user=myusername --password=mypassword --with-flag

Изменнения в setup.py

# -*- coding: utf-8 -*-
import os
from setuptools import setup, find_packages
from setuptools.command.sdist import sdist

class CustomSdistCommand(sdist):
    """Customized setuptools sdist command"""

    user_options = sdist.user_options + [
        ('user=', None, 'Svn user'),
        ('password=', None, 'Svn user password'),
        ('with-flag', None, 'With flag'),        
    ]
    
    user = None
    password = None
    with_flag = False    

    def run(self):
        if self.with_flag:
            some_function()
        sdist.run(self)

setup(    
    install_requires=[
        'Django',
        'South',
    ],
    cmdclass={
        'sdist': CustomSdistCommand,
    },
    
)

На что обратить внимание:
1)

        ('user=', None, 'Svn user'),
        ('with-flag', None, 'With flag'), 

«=» указывает может ли принимать значение из командной строки или нет (как в параметре with-flag)

2) Нужно создавать переменные в нашем классе CustomSdistCommand с именем одинаковым как и аргументы в user_options

2.1) Если аргументы содержат «-» (дефис), то переменные должны вместо него содержать знак подчеркивание «_». Пример, смотри на переменную with_flag

Опубликовать в Facebook
Опубликовать в Google Plus

Leave a Reply

You must be logged in to post a comment.