konfiguracja python.py do instalowania plików w niestandardowych katalogach
Chcę utworzyć plik setup.py, który zainstaluje moje pliki w niestandardowych katalogach. Mam pewien prefiks, w którym chciałbym uzyskać następujący wynik:
<code>/my/prefix/ bin/ script.sh libexec/ one.py two.py ... lib/pythonX.Y/site-packages/ package/... </code>
Mój pierwszy projekt jest następujący:
<code>/ script.sh one.py two.py ... setup.py package/... __init__.py ... </code>
Jaki byłby najlepszy sposób, aby to osiągnąć? Chciałbym móc zainstalować go później na przykład:
<code>python setup.py install --prefix=/my/prefix </code>
Mogę ładnie zainstalować „pakiet” w odpowiednim katalogu, ponieważ lib / pythonX.Y / site-packages pod --prefix jest domyślną lokalizacją. Ale czy istnieje czysty sposób na wprowadzenie skryptu script.sh do „bin” i innych plików Pythona do „libexec”? Jedynym sposobem, aby to osiągnąć, jest ręczne skopiowanie tych plików w skrypcie setup.py. Może być czystszy i bardziej standardowy sposób na to?
(edytować)
Rozwiązanie
Tak skończyło się na setup.py:
<code>setup(name='mylib', scripts=['script.sh'], data_files=[('libexec', ['one.py', 'two.py'])] ) </code>
Oczywiście, możesz iterować wszystkie pliki Pythona dla libexec, ale mam tam tylko 2-3 pliki Pythona.
(edytuj2)
Dodatkowo mogę mieć plik setup.cfg z następującymi elementami:
<code>[install] prefix=/my/prefix </code>
i zamiastpython setup.py install --prefix=/my/prefix
Mogę po prostu zrobić:
<code>python setup.py install </code>