2013-03-15 16 views
11

PytanieJak uruchomić plik skryptowy w ramach instalacji pythona setup.py?

wiem jak używać setup.py z setuptools zarejestrować skrypt. Jak uruchomić inny plik skryptu (powiedzmy plik make) jako część python setup.py install.

Tło

Wyobrażam sobie, że chciałbym użyć czegoś takiego:

os.system('make maketarget') #from somewhere in the package 

Ale setuptools.setup otrzyma dict więc nie można po prostu dodać tę linię wewnątrz setup()/i muszę skrypt uruchom po zainstalowaniu podstawowego pakietu przez setup.py install.

Wiem, że mogę dodać polecenie do setup.py, ale chcę, aby ten skrypt został wywołany w kroku instalacji.

Mogę również domyślnie po prostu umieszczając a:

if sys.argv[-1] == 'install': 
    os.system('do something in the shell') 

i po prostu umieścić ten blok po setup(), ale jakoś to nie wygląda bardzo pytonic (a także podatne na błędy, muszę znaleźć gdzie ten pakiet jest zainstalowany dokładnie itd.)

Odpowiedz

6

Możesz podklasować istniejące polecenie instalacji z setuptools i rozszerzyć je o pożądaną funkcjonalność. Następnie możesz zarejestrować go jako polecenie instalacji w funkcji konfiguracji:

Zamiast instrukcji print po prostu wywołaj swój skrypt.

Należy pamiętać, że istnieje wiele sposobów pakowania oprogramowania Pythona (jaja itp.). Twój skrypt nie zostanie wywołany w ten sposób, jeśli wywołasz go tylko w kroku instalacji.

Powiązane problemy