una modulos lista librerias libreria incluidas importar descargar crear como comando clases bibliotecas python pip python-module pypi

modulos - Instalar el módulo python dentro del código



lista de modulos de python (10)

Necesito instalar un paquete de PyPi directamente dentro de mi script. Tal vez haya algún módulo o distutils ( distribute , pip , etc.) que me permita ejecutar algo como pypi.install(''requests'') y las solicitudes se instalarán en mi virtualenv.


Espero que esta pregunta aún sea válida. Hice lo anterior algo como esto:

import sys import os import site try: import pip except ImportError: print "installing pip" cmd = "sudo easy_install pip" os.system(cmd) reload(site) try: import requests except ImportError: print "no lib requests" import pip cmd = "sudo pip install requests" print "Requests package is missing/nPlease enter root password to install required package" os.system(cmd) reload(site)

el segundo bloque try también se puede escribir en la parte else del primer bloque try, sin embargo, en el enunciado de mi problema, tengo que escribir dos bloques separados.


Esto debería funcionar:

import subprocess def install(name): subprocess.call([''pip'', ''install'', name])


La solución de Rickard no es compatible con el equipo de desarrollo de pip y se bloqueará en algunos casos (p. Ej., Múltiples hilos). Además, dado que el pip 10 el código se ha movido a pip._internal para dejar en claro que esto no es compatible, esta solución fallará con un error de importación en "pip> = 10.0.0".

La solución de Quantum es la forma preferida de resolver el problema, sin embargo, su implementación no garantiza que llame al pip correcto.

Esta solución garantiza que llama al pip del intérprete de python que ejecuta el código.

import subprocess import sys def install(package): subprocess.call([sys.executable, "-m", "pip", "install", package])

Hace lo mismo que la solución de Quantum, sin embargo, en lugar de ejecutar pip directamente, ejecuta el mismo ejecutable de python ejecutando el código y le dice que ejecute el módulo de pip que tiene instalado y le pasa el resto de los argumentos.


Puede instalar usando un módulo sys

import sys !{sys.executable} -m pip install <package> --user


Si desea utilizar pip para instalar el paquete requerido e importarlo después de la instalación, puede usar este código:

def install_and_import(package): import importlib try: importlib.import_module(package) except ImportError: import pip pip.main([''install'', package]) finally: globals()[package] = importlib.import_module(package) install_and_import(''transliterate'')

Si instaló un paquete como usuario, puede encontrar el problema de que no puede importar el paquete. Consulte Cómo actualizar sys.path? para informacion adicional.


Supongo que tenemos una pipa en nuestra máquina e intentaremos detectar la dependencia específica que falta. Pruebe este método y dígame qué opina.

import os try: import something ..... ..... except ImportError as e: pip = lambda : os.system(''pip install'' + str(e)[15:]) pip()

Además, considere trabajar con el módulo pip sí mismo si usa funciones lambda para aplicar el mecanismo importador "autoconsciente". Simplemente siguiendo este fragmento de código :)

try: import somthing .......... .......... except ImportError as e: # importing pip module to handle pip functionalites import pip # create a lambda that import using pip by module_error_name=e[15:] installer = lambda : pip.main([''install'', str(e)[15:]) # create a lambda that import a module by linear_lambda_call importer = lambda x : __import__(str(x)).import_module() # install the module installer() # import the module importer()


También puedes usar algo como:

import pip def install(package): pip.main([''install'', package]) # Example if __name__ == ''__main__'': install(''argh'')


Usted define el módulo dependiente dentro de setup.py de su propio paquete con la opción "install_requires".

Si su paquete necesita tener algún script de consola generado, entonces puede usar el punto de entrada "console_scripts" para generar un script contenedor que se colocará dentro de la carpeta ''bin'' (por ejemplo, de su entorno virtualenv).


Utilizo os.system para emular un terminal os.system importando un módulo porque entonces, puede usar el módulo en todos los otros scripts.

Por ejemplo, estoy creando un motor de juego que se ejecuta en scripts separados, la mayoría de estos scripts usan Pygame y si el usuario no tiene pygame, el archivo de inicio lo agregará usando este código:

import os os.system(''pip install pygame'')

Lamentablemente, no tengo idea de cómo obtener pip en la máquina del usuario, así que esto depende de que el usuario tenga pip.


siempre puedes descargar

import os

luego, a la derecha, todos los comandos del terminal para descargarlo desde allí.

me gusta

while True: code = input("") os.system("code")

sea ​​lo que sea, no estoy seguro, pero si ni siquiera sabes cómo hacerlo en la terminal, ¿cómo vas a hacerlo en Python?