Estoy tratando de crear una secuencia de comandos python genérica para iniciar una aplicación de Python y me gustaría instalar cualquier módulo de python dependiente si faltan en el sistema de destino. ¿Cómo puedo ejecutar el equivalente del comando de línea de comando 'python setup.py install' desde dentro de Python? Siento que esto debería ser bastante fácil, pero no puedo resolverlo.¿Cómo ejecutar 'python setup.py install' desde dentro de Python?
Respuesta
import os
string = "python setup.py install"
os.system(string)
Cómo hacer eso si setup.py está en alguna otra ruta, por ejemplo en c: \ foo \ bar \ setup.py? – Aleksandar
Usted puede utilizar el módulo subprocess:
import subprocess
subprocess.call(['python', 'setup.py', 'install'])
¿Cómo hacer eso si setup.py está en alguna otra ruta, por ejemplo en c: \ foo \ bar \ setup.py? – Aleksandar
Pase en la ruta completa como segundo argumento. – sdolan
Sólo tiene que importar la misma.
import setup
Estaba pensando en esta línea. Una vez importado, ¿cómo puedo llamar 'instalar'? – jamesaharvey
Lea esto: http://docs.python.org/distutils/apiref.html#distutils.core.run_setup
Está bastante bien documentado.
Leí los documentos. ¿Puedes darme un ejemplo? 'run_setup ('/ home/ubuntu/python-augeas/setup.py', ['install'])' no funciona. –
@AdamRyczkowski, [DISTUTILS_DEBUG] (https://docs.python.org/2/distutils/setupscript.html) es tu amigo – rstackhouse
Para aquellos, que utilizan setuptools puede utilizar setuptools.sandbox:
from setuptools import sandbox
sandbox.run_setup('setup.py', ['clean', 'bdist_wheel'])
Esto funciona para mí (py2.7)
Tengo un módulo opcional con su setup.py en una subcarpeta del proyecto principal .
from distutils.core import run_setup [..setup(..) config of the main project..] run_setup('subfolder/setup.py', script_args=['develop',],stop_after='run')
Gracias
Actualización:
Excavar un tiempo se pueden encontrar en 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.
por lo que el código fuera embestido cambiado a
import sys
from distutils.core import run_setup
run_setup('subfolder/setup.py', script_args=sys.argv[1:],stop_after='run')
Camino tarde - pero si alguien se encuentra aquí como yo lo hice - esto funcionó para mí; (Python 3.4). Mi script estaba a un paquete de setup.py. Tenga en cuenta que debe tener chmod + x en setup.py, creo.
cwd = os.getcwd()
parent = os.path.dirname(cwd)
os.chdir(parent)
os.system("python setup.py sdist")
- 1. ¿Por qué "pip install" dentro de Python genera un SyntaxError?
- 2. install cx_oracle para python
- 3. Jinja install para python
- 4. autotools y python setup.py
- 5. ¿Cómo ejecutar un script python desde java?
- 6. Ejecutar programa python desde otro programa python (con ciertos requisitos)
- 7. ¿Cómo ejecutar un AppleScript desde un script de Python?
- 8. Analizando el código de Python desde dentro de Python?
- 9. configuración de python setup.py para instalar archivos en directorios personalizados
- 10. python setup.py develop no updating easy_install.pth
- 11. pgmagick install on linux
- 12. Incluir directorio vacío con python setup.py sdist
- 13. utilizar Python desde dentro de Java
- 14. ¿Cómo instalar el módulo de Python sin setup.py?
- 15. python pip: force install ignorando dependencias
- 16. ImportError en el subpaquete al ejecutar la prueba setup.py
- 17. cómo ejecutar un archivo de script python con un argumento desde otro archivo de script python
- 18. Python setup.py: solicitar datos de configuración durante la configuración
- 19. ¿Cómo instalar un paquete de Python desde dentro de IPython?
- 20. ¿Cómo ejecutar el script de python instalado?
- 21. Estructura del paquete de Python, setup.py para ejecutar pruebas de unidad
- 22. ¿Cómo puedo generar nuevos shells para ejecutar scripts de Python desde un script python base?
- 23. Especificación de dependencias opcionales en pypi python setup.py
- 24. PIP instala un paquete de Python sin un archivo setup.py?
- 25. MANIFEST.in ignorado en "instalación de python setup.py" - no hay archivos de datos instalados?
- 26. Ejecutar script de Python desde la aplicación Cocoa usando GCD
- 27. maneras de ejecutar Python
- 28. ¿Cuál es el equivalente Ruby de python setup.py develop?
- 29. install_requires en setup.py dependiendo de la versión de Python instalado
- 30. python: ejecute el shell de python interactivo desde el programa
relacionadas: [? Llamada directamente distutils' o setuptools configuración() con nombre del comando/opciones, sin necesidad de analizar la línea de comandos] (http://stackoverflow.com/q/2850971/2127008) – Wrzlprmft