Sto provando a creare uno script Python generico per l'avvio di un'applicazione python e vorrei installare qualsiasi modulo python dipendente se mancano dal sistema di destinazione. Come posso eseguire l'equivalente del comando da riga di comando "python setup.py install" da Python stesso? Credo che questo dovrebbe essere abbastanza facile, ma non riesco a capirlo.Come eseguire "python setup.py install" da Python?
risposta
import os
string = "python setup.py install"
os.system(string)
Come per farlo se setup.py si trova su qualche altro percorso, per esempio in c: \ foo \ bar \ setup.py? – Aleksandar
È possibile utilizzare il modulo subprocess:
import subprocess
subprocess.call(['python', 'setup.py', 'install'])
Come fare se setup.py si trova su un altro percorso, ad esempio in c: \ foo \ bar \ setup.py? – Aleksandar
Passa nel percorso completo come secondo argomento. – sdolan
Basta importarlo.
import setup
Stavo pensando in questa direzione. Una volta importato, come posso chiamare "installa"? – jamesaharvey
Leggi questo: http://docs.python.org/distutils/apiref.html#distutils.core.run_setup
E 'abbastanza ben documentato.
Ho letto i documenti. Puoi per favore darmi un esempio? 'run_setup ('/ home/ubuntu/python-augeas/setup.py', ['install']]' non funziona. –
@AdamRyczkowski, [DISTUTILS_DEBUG] (https://docs.python.org/2/distutils/setupscript.html) è tuo amico – rstackhouse
Per coloro, che utilizzano setuptools è possibile utilizzare setuptools.sandbox:
from setuptools import sandbox
sandbox.run_setup('setup.py', ['clean', 'bdist_wheel'])
Questo funziona per me (py2.7)
Ho un modulo opzionale con il suo setup.py in una sottocartella del progetto principale .
from distutils.core import run_setup [..setup(..) config of the main project..] run_setup('subfolder/setup.py', script_args=['develop',],stop_after='run')
Grazie
Aggiornamento:
scavare un po ' si può trovare in 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.
in modo che il codice di cui sopra shold essere cambiato in
import sys
from distutils.core import run_setup
run_setup('subfolder/setup.py', script_args=sys.argv[1:],stop_after='run')
In ritardo, ma se qualcuno si trova qui come ho fatto, questo ha funzionato per me; (Python 3.4). Il mio script era un pacchetto giù da setup.py. Nota, devi avere chmod + x su setup.py, credo.
cwd = os.getcwd()
parent = os.path.dirname(cwd)
os.chdir(parent)
os.system("python setup.py sdist")
- 1. Come specificare i test da eseguire con "nosetests python setup.py"
- 2. Come eseguire la ricerca di unittest da "python setup.py test"?
- 3. Come posso eseguire un file di script come parte di python setup.py install?
- 4. Compilatore forzato quando si esegue python setup.py install
- 5. Python setup.py sviluppare vs installare
- 6. Come utilizzare setup.py in Python gammu
- 7. autotools e python setup.py
- 8. python pip silent install
- 9. "PIP installare --editable ./" vs "python setup.py sviluppare"
- 10. Python: Come forzare la sovrascrittura dei file quando si usa setup.py install (distutil)
- 11. Python: setup.py mancante: nessun file o directory
- 12. Script Python da eseguire su python 3.5
- 13. Come specificare le dipendenze del pacchetto python esplicito in setup.py?
- 14. python setup.py Errore sdist: Operazione non consentita
- 15. setuptools python setup.py install non la copia di tutti i moduli bambino
- 16. python install lxml su mac os 10.10.1
- 17. setup.py: limita la versione permessa dell'interprete python
- 18. Come eseguire lo script Python da Java?
- 19. Come eseguire uno script python da java?
- 20. Come eseguire Python da Windows cmd
- 21. python setup.py costruire ignorando alcuni file
- 22. Cosa fa effettivamente `python setup.py check`?
- 23. `make install` con CMake + SWIG + Python
- 24. configurazione setup.py python per installare i file nelle directory personalizzati
- 25. Python GDAL: pip installazione --no-install GDAL fallisce
- 26. Come installare una dipendenza da un sottomodulo in Python?
- 27. Come eseguire passi personalizzati per la configurazione in setup.py?
- 28. apt-get install per diverse versioni python
- 29. Uso di CMake con setup.py
- 30. Come eseguire python setup.py comando di sviluppo all'interno di virtualenv utilizzando ansible
correlati: [? Direttamente chiamare distutils' o setuptools' setup() con il nome di comando/opzioni, senza l'analisi della riga di comando] (http://stackoverflow.com/q/2850971/2127008) – Wrzlprmft