paquetes modulos lista librerias instalar importar bibliotecas python pip distutils easy-install maya

modulos - ¿Cómo puedo instalar los módulos de Python mediante programación/a través de un script de Python?



librerias python (3)

¿Puedo descargar e instalar módulos Python desde PyPi estrictamente dentro de un script, sin usar un shell en absoluto ?

Utilizo un entorno Python no estándar, el intérprete Python de Autodesk Maya. Esto no viene con "easy_install" y no hay "shell", solo un intérprete de script en python invocado por el ejecutable Maya principal. Al copiar y pegar el contenido de ez_setup.py en la ventana del editor de secuencias de comandos y ejecutarlo correctamente, se instala easy_install en algún lugar del directorio de Maya, pero la secuencia de comandos registra incorrectamente el intérprete de Python como "... maya.exe" en lugar de "... mayapy.exe "Además, el uso de easy_install requiere un shell.

El objetivo es entregar una secuencia de comandos de Python que, por ejemplo, instala NumPy en el sistema Maya Python. Esto podría lograrse colocando huevos en el directorio de paquetes de sitio, pero eso requiere la intervención manual del usuario. Todo lo que un usuario final tiene que hacer fuera del entorno Maya es esencialmente intocable, especialmente el desorden con el sistema de archivos. ¿Pero meterse con el sistema de archivos a través de un script? Esta bien.

¿Hay algo más elegante que ez_setup.py + que edita las llamadas easy_install ... py''s + subprocess? Siento que esta es una característica básica. Veo documentación en línea para la instalación de módulos programáticos a través de pip ... ¡pero pip debe instalarse primero!

¿Cuál es la forma más elegante de instalar un módulo estrictamente dentro de los límites de un script?


Instalación de easy_install para Maya en windows.

  1. Descargar ez_setup.py .
  2. abrir windows cmd elevado (inicio, escriba cmd , rmb haga clic en él -> ejecutar como administrador)
  3. cambie el directorio cmd a x: / maya install dir / bin
    • ejemplo: cd c: / Archivos de programa / MayaXX / bin
  4. ejecute el siguiente comando mayapy x: / WhereYouSaved / ez_setup.py

Ahora la instalación fácil debe configurarse correctamente. Es posible que desee seguir los siguientes pasos:

  1. cd x: / maya install dir / python / scripts
  2. renombra todos los archivos en esta carpeta para comenzar con ma
    • Ejemplo: para% i en (*) hacer ren% i ma% i
  3. agrega esta carpeta a tu ruta
    • pulsa ganar + e
    • rmb mi computadora y elige propiedades
    • Configuraciones avanzadas del sistema -> Variables de entorno
    • busque la ruta de la variable edítelo y añádalo; x: / maya install dir / python / scripts

Ahora puedes llamar a maeasy_install pythonModule desde cmd para instalar cosas. También puedes llamar al siguiente Maya para instalar módulos:

from setuptools.command import easy_install easy_install.main( ["pythonModule"] )

NOTA: Si Maya está instalado en archivos de programa, entonces realmente no puede instalar cosas sin elevar. A menos que cambie los permisos de disco al directorio de Python Maya.


Para que funcione, abra el archivo ez_setup.py y simplemente agregue una s después de http en esta línea:

DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]

para que se convierta

DEFAULT_URL = "https://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]


#!/usr/bin/env python from __future__ import print_function REQUIREMENTS = [ ''distribute'', ''version'', ''Cython'', ''sortedcollection'' ] try: from setuptools import find_packages from distutils.core import setup from Cython.Distutils import build_ext as cython_build import sortedcollection except: import os, pip pip_args = [ ''-vvv'' ] proxy = os.environ[''http_proxy''] if proxy: pip_args.append(''--proxy'') pip_args.append(proxy) pip_args.append(''install'') for req in REQUIREMENTS: pip_args.append( req ) print(''Installing requirements: '' + str(REQUIREMENTS)) pip.main(initial_args = pip_args) # do it again from setuptools import find_packages from distutils.core import setup from Cython.Distutils import build_ext as cython_build import sortedcollection