Buscar..


Observaciones

Esta página debe cubrir varias formas de configurar rutas de Python Maya: userSetup, maya.env, variables de entorno, etc.

Utilizando userSetup.py

Agregue rutas arbitrarias al entorno Maya Python en el archivo userSetup.py . userSetup.py es un archivo Python ( no un módulo) que se ejecuta automáticamente en el inicio de Maya. userSetup.py puede vivir en varias ubicaciones, dependiendo de la os y las variables de entorno.

Cuando Maya se inicie, ejecutará el contenido del archivo de configuración de usuario. Agregar rutas de Python aquí le permitirá encontrar módulos:

 import sys
 sys.path.append("/path/to/my/modules")

Esto hará que los archivos del módulo Python en '/ path / to / my / modules' estén disponibles para importarlos usando la directiva de import estándar.

Para configuraciones más avanzadas, el módulo del site puede hacer lo mismo usando la función addsitedir() . site.addsitedir() admite archivos .pth que configuran múltiples rutas de una sola vez.

Por ejemplo, tres carpetas de Python no relacionadas podrían organizarse así:

  python_files
  | 
  +---- studio
  |      +  module1.py
  |      +  module2.py
  |     
  +---- external
         |
         +---- paid
         |      + paidmodule.py
         |
         +---- foss
                + freemodule.py

Usando sys.path directamente, tendría que agregar python_files/studio , python_files/external/paid y python_files/external/paid manualmente. Sin embargo, podría agregar un archivo .pth a la raíz de los python_files que se parecían a esto:

  studio
  external/paid
  external/foss

y llame a esto en userSetup:

 import site
 site.addsitedir("/path/to/python_files")

y obtendrás todos los caminos de una sola vez.

Uso de variables de entorno

El intérprete de Maya Python funciona como un intérprete regular de Python, por lo que utilizará las mismas variables de entorno para encontrar archivos importantes como cualquier otra instalación de Python 2.6 o 2.7 (se describe con más detalle en la documentación de Python) .

Si no hay otra instalación de Python en su máquina, puede usar las variables de entorno para apuntar a la ubicación de sus archivos de Python para Maya (si tiene otro Python, cambiarlas por el bien de Maya puede interferir con su otra instalación de Python, usted ' Sería mejor utilizar un script de inicio de usuario o de inicio). Establezca la variable PYTHONPATH para que incluya sus rutas de búsqueda. Si está editando la variable para incluir varias rutas, recuerde que en los sistemas * NIX, las rutas están separadas por dos puntos:

  export PYTHONPATH="/usr/me/maya/shared:/usr/me/other_python"

donde en Windows hay punto y coma:

  setx  PYTHONPATH C:/users/me/maya;//server/shared/maya_python

Configuraciones múltiples

Una de las ventajas de usar variables de entorno es que puede volver a configurar rápidamente una instalación de maya para cargar herramientas y scripts desde diferentes ubicaciones para diferentes proyectos. La forma más fácil de hacer esto es configurar PYTHONPATH justo antes de iniciar Maya para que herede las rutas necesarias para esta sesión de maya. Por ejemplo

  set PYTHONPATH=C:/users/me/maya;//server/shared/maya_python
  maya.exe

lanzará Maya (en Windows) con las rutas C:/users/me/maya y //server/shared/maya_python disponibles para su uso. Podría lanzar una segunda copia de Maya desde una nueva línea de comando usando un comando set diferente y la segunda Maya usaría diferentes rutas.

Debido a que es difícil para la mayoría de los usuarios finales escribir este tipo de cosas, es una buena idea automatizar el proceso con un archivo por lotes o shell que establece las variables de entorno locales y lanza maya. nota: necesitamos ejemplos de esto para los archivos .bat y .sh En este sistema, distribuiría un archivo .bat o .sh para cada proyecto que estaba respaldando y sus usuarios iniciarían maya utilizando esos; el lanzamiento de maya sin el archivo bat los revertiría a la configuración predeterminada de Maya sin ningún script personalizado.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow