2009-09-14 14 views
6

Buduję aplikację za pomocą py2app/setuptools, więc gdy tylko utworzy pakiet aplikacji, chcę wykonać pewne działanie w folderze dist, np. utwórz instalator/prześlij go.Jak uruchomić proces kompilacji za pomocą setuptools/distutils

Czy istnieje sposób? Znalazłem pewne rozwiązanie poinstalacyjne, ale nie mam opcji "Post-build", ale nie mogę później utworzyć "python setup.py py2app" z mojego własnego skryptu i zrobić to, ale byłoby lepiej, gdyby można to było zrobić w setup.py

Odpowiedz

4

I responded to a similar question yesterday o podklasowaniu distutils.core.Command.

Najważniejsze jest to, że dzięki temu można precyzyjnie kontrolować zachowanie każdego etapu procesu przygotowywania i można tworzyć własne polecenia, które mogą wykonać praktycznie wszystko, co tylko można sobie wyobrazić.

Proszę spojrzeć na tę odpowiedź, ponieważ myślę, że to ci pomoże.

0

Prawdopodobnie można to zrobić za pomocą narzędzi setuptools lub distutils, ale najprawdopodobniej będą one dość hackowe. Chciałbym gorąco polecić za pomocą jednego z poniższych narzędzi, jeśli chcesz zrobić coś takiego:

Paver jest chyba najłatwiej poruszać się jak prawdopodobnie będzie można użyć całego istniejącego pliku setup.py.

0

Czy możesz wyjaśnić, co próbujesz zrobić?

podjąć pewne działania w folderze dist, np. utwórz instalator/prześlij go.

Kiedy mówisz "Utwórz instalator", masz na myśli zbudować dystrybucję pakietu? A kiedy mówisz "upload", masz na myśli upload na pypi? Lub gdzie indziej?

znalazłem trochę po instalacji rozwiązanie, ale nie po zbudować

Czy te py2app haki/wywołania zwrotne?

python setup.py py2app

To nie jest konwencja o jak distutils używany. Zazwyczaj jest to python setup.py install.

Odpowiedź:

cel py2app jest gmina folderu, który chcę pakować za pomocą mojego skryptu instalacyjnego i przesłać na mojej stronie

Edit:

Więc stworzył pakiet używający distutils z setup.py.

Po uruchomieniu pliku setup.py tworzy dystrybucje dla tego pliku i umieszcza je w folderze/dist.

Teraz chcesz przesłać utworzony plik do swojej witryny.

Aby to zrobić, potrzebujesz innego narzędzia. Coś takiego jak fabric.

Możesz użyć tkaniny, aby utworzyć skrypt, który wykonałby polecenie budowania, a następnie załadowałby skompilowane pliki na twój serwer.

+0

py2app target jest folderem dist, który chcę spakować za pomocą mojego skryptu instalacyjnego i przesłać na moją stronę –

+0

Zaktualizowałem moją odpowiedź. –

Powiązane problemy