Próbuję utworzyć ogólny skrypt python do uruchamiania aplikacji Pythona i chciałbym zainstalować wszelkie zależne moduły python, jeśli brakuje ich w systemie docelowym. Jak uruchomić ekwiwalent polecenia wiersza poleceń "python setup.py install" z poziomu samego Pythona? Czuję, że to powinno być całkiem łatwe, ale nie mogę tego rozgryźć.Jak uruchomić "Instalację python setup.py" z poziomu Pythona?
Odpowiedz
import os
string = "python setup.py install"
os.system(string)
Jak to zrobić, jeśli plik setup.py znajduje się w innej ścieżce, na przykład w c: \ foo \ bar \ setup.py? – Aleksandar
można użyć modułu subprocess:
import subprocess
subprocess.call(['python', 'setup.py', 'install'])
Jak to zrobić, jeśli plik setup.py znajduje się w innej ścieżce, na przykład w c: \ foo \ bar \ setup.py? – Aleksandar
Przekaż pełną ścieżkę jako drugi argument. – sdolan
Wystarczy zaimportować go.
import setup
Myślałem o tym. Po zaimportowaniu w jaki sposób mogę zadzwonić do "instalacji"? – jamesaharvey
Przeczytaj to: http://docs.python.org/distutils/apiref.html#distutils.core.run_setup
to całkiem dobrze udokumentowane.
Czytałem dokumenty. Czy możesz podać mi przykład? 'run_setup ('/ home/ubuntu/python-augeas/setup.py', ['install'])) nie działa. –
@AdamRyczkowski, [DISTUTILS_DEBUG] (https://docs.python.org/2/distutils/setupscript.html) jest twoim przyjacielem – rstackhouse
Dla tych, którzy korzystają z setuptools można użyć setuptools.sandbox:
from setuptools import sandbox
sandbox.run_setup('setup.py', ['clean', 'bdist_wheel'])
Działa to dla mnie (py2.7)
Mam opcjonalny moduł z jego setup.py w podkatalogu głównego projektu .
from distutils.core import run_setup [..setup(..) config of the main project..] run_setup('subfolder/setup.py', script_args=['develop',],stop_after='run')
Dzięki
Aktualizacja:
kopanie chwilę można znaleźć w distutils.core.run_setup
'script_name' is a file that will be run with 'execfile()'; 'sys.argv[0]' will be replaced with 'script' for the duration of the call. 'script_args' is a list of strings; if supplied, 'sys.argv[1:]' will be replaced by 'script_args' for the duration of the call.
więc powyższy kod shold być zmieniono na
import sys
from distutils.core import run_setup
run_setup('subfolder/setup.py', script_args=sys.argv[1:],stop_after='run')
Droga do późna - ale jeśli ktoś znajdzie się tutaj tak jak ja - to zadziałało dla mnie; (python 3.4). Mój skrypt był o jeden pakiet niższy od setup.py. Zauważ, że musisz mieć chmod + x na setup.py, jak sądzę.
cwd = os.getcwd()
parent = os.path.dirname(cwd)
os.chdir(parent)
os.system("python setup.py sdist")
- 1. Jak uruchomić plik skryptowy w ramach instalacji pythona setup.py?
- 2. Jak określić, które testy uruchomić z "python nosetests setup.py"
- 3. Znajdź ścieżkę nagłówka python z poziomu Pythona?
- 4. Którą instalację Pythona należy użyć?
- 5. Jak uruchomić python setup.py rozwijać polecenie wewnątrz virtualenv używając ansible
- 6. Python: Jak uruchomić funkcje Pythona równolegle?
- 7. nie można uruchomić z poziomu Pythona binarny AWS lambda funkcji
- 8. Wymuszanie wersji python w setup.py
- 9. Czy mogę zainstalować instalację opencv2 dla Pythona?
- 10. jak uruchomić instalację pakietu bez cichej flagi
- 11. Jak uruchomić Pythona z Windows cmd
- 12. PIP zainstalować pakiet Pythona bez pliku setup.py?
- 13. setup.py wymaga MySQL-python
- 14. Jak uzyskać kodowanie terminala z poziomu skryptu Pythona?
- 15. Jaki jest ekwiwalent Rubiego dla Pythona setup.py?
- 16. Jak określić jawne zależności pakowania Pythona w setup.py?
- 17. Jak zainstalować moduł Python bez pliku setup.py?
- 18. Używanie CMake z setup.py
- 19. Jak uruchomić pip Pythona dla systemu Windows?
- 20. setup.py: ogranicza dozwoloną wersję interpretera pythonów
- 21. Python linki setup.py zależnościami dla pakietów GemFury
- 22. Jak skompilować Pythona z Brythonem do JavaScript (uruchomić z nodejs)?
- 23. Jak znaleźć katalog skryptu uruchamiającego Python z poziomu skryptu?
- 24. Python: Jak wymusić zastępowanie plików przy użyciu setup.py zainstalować (distutil)
- 25. Jak uruchomić python 2 i 3 w systemie Windows 7?
- 26. Błąd podczas instalowania scikits.audiolab podczas korzystania z python setup.py egg_info
- 27. python - wywołanie funkcji z poziomu samego siebie
- 28. Geany nie może uruchomić Pythona
- 29. python setup.py sdist tylko tym .py źródła od modułu najwyższego poziomu
- 30. Python uruchomić test z aplikacji zainstalowanej z pip
pokrewne: [? Wywołać bezpośrednio distutils' lub setuptools' setup() funkcji z nazwy poleceń/opcji, bez analizowania wiersza polecenia] (http://stackoverflow.com/q/2850971/2127008) – Wrzlprmft