Zoeken…


Opmerkingen

Deze pagina bevat verschillende manieren om Maya python-paden in te stellen - userSetup, maya.env, omgevingsvariabelen, enzovoort

UserSetup.py gebruiken

Voeg willekeurige paden toe aan de Maya Python-omgeving in het bestand userSetup.py . userSetup.py is een Python-bestand ( geen module) dat automatisch wordt uitgevoerd bij het opstarten van Maya. userSetup.py kan op een aantal locaties leven, afhankelijk van het besturingssysteem en omgevingsvariabelen.

Wanneer Maya start, wordt de inhoud van het userSetup-bestand uitgevoerd. Door hier Python-paden toe te voegen, kan het modules vinden:

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

Dit maakt Python-modulebestanden in '/ path / to / my / modules' beschikbaar voor import met behulp van de standaard import .

Voor meer geavanceerde instellingen, de site kan module hetzelfde te doen met behulp van de addsitedir() functie. site.addsitedir() ondersteunt .pth-bestanden die meerdere paden in één keer configureren.

Drie mappen met niet-gerelateerde Python kunnen bijvoorbeeld als volgt worden gerangschikt:

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

Als u sys.path rechtstreeks gebruikt, moet u python_files/studio , python_files/external/paid en python_files/external/paid toevoegen. Je kunt echter een .pth-bestand toevoegen aan de root van python_files die er zo uitzag:

  studio
  external/paid
  external/foss

en noem dit in userSetup:

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

en je krijgt alle paden in één keer.

Omgevingsvariabelen gebruiken

De Maya Python-interpreter werkt als een normale Python-intepreter, dus hij zal dezelfde omgevingsvariabelen gebruiken om importeerbare bestanden te vinden als elke andere Python 2.6 of 2.7-installatie (meer gedetailleerd beschreven in de Python-documentatie) .

Als er geen andere python-installatie op uw machine is, kunt u de omgevingsvariabelen gebruiken om naar de locatie van uw Python-bestanden voor Maya te wijzen (als u een andere Python hebt, kan het wijzigen hiervan omwille van Maya uw andere Python-installatie verstoren - u ' d is beter af met een userSetup of opstartscript). Stel variabele PYTHONPATH zodat deze uw zoekpaden omvat. Als u de variabele bewerkt om meerdere paden op te nemen, onthoud dan dat op * NIX-systemen de paden worden gescheiden door dubbele punten:

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

waar op Windows puntkomma's zijn:

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

Meerdere configuraties

Een voordeel van het gebruik van omgevingsvariabelen is dat je snel een maya-installatie opnieuw kunt configureren om tools en scripts van verschillende locaties voor verschillende projecten te laden. De eenvoudigste manier om dit te doen, is door PYTHONPATH te stellen voordat u Maya start, zodat u de nodige paden PYTHONPATH voor deze maya-sessie. Bijvoorbeeld

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

zal Maya (op Windows) starten met de paden C:/users/me/maya en //server/shared/maya_python beschikbaar voor gebruik. Je zou een tweede exemplaar van Maya kunnen starten vanaf een nieuwe opdrachtregel met een ander set commando en de tweede Maya zou verschillende paden gebruiken.

Omdat het voor de meeste eindgebruikers moeilijk is om dit soort dingen te typen, is het een goed idee om het proces te automatiseren met een batch- of shell-bestand dat de lokale omgevingsvariabelen instelt en maya start. opmerking: we hebben hiervan voorbeelden nodig voor .bat- en .sh-bestanden. In dit systeem zou je een .bat- of .sh-bestand verspreiden voor elk project dat je ondersteunde en je gebruikers zouden maya starten met die; het starten van maya zonder het bat-bestand zou ze terugzetten naar de standaard Maya-configuratie zonder aangepaste scripts.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow