Utilisez pathlib dans Maya (Python2.7) en préparation du prochain Python3.7

introduction

En 2020, le minuteur de horloge python s'est arrêté.

Cependant, l'industrie de la CG utilise toujours Python 2.7. (Comme Maya, 3dsMAX, Houdini, etc. n'ont pas encore été migrés, cela ne peut pas être aidé ...

L'outil DCC est toujours Python2.7, mais l'outil Python autonome n'a pas besoin d'être Python2.7, donc j'utilise Python3.7.

J'utilise Python3.7 et je pense que pathlib est pratique, mais quand je l'ai recherché, un paquet a été préparé pour Python2.7, donc j'ai essayé de le mettre aussi dans Maya. pense.

Installation

Si vous voulez utiliser pathlib avec Python 2.7, faites simplement pip install pathlib Lors de l'utilisation avec Maya, installer dans PYTHONPATH reconnu par Maya avec l'indicateur -t

Dans le cas de je Créez un dossier site-packages dans% USERPROFILE% \ Documents \ maya \ scripts et installez-le là. Le fichier du module reconnaît «PYTHONPATH». Je prépare la batte pour une installation facile.

pip.bat


echo off
set PIP_INSTALL_PACKAGE=
set /P PIP_INSTALL_PACKAGE="enter the package to install:"
py -2.7 -m pip install %PIP_INSTALL_PACKAGE% -t site-packages
pause

Essayez d'utiliser

Maintenant que l'installation est terminée, je vais essayer de l'utiliser.

import pathlib
pathlib.Path
# Result: <class 'pathlib.Path'> #

Je peux importer sans problème !!

pathlib.Path(os.getenv("MAYA_LOCATION")).parent
# Result: WindowsPath('C:/Program Files/Autodesk') #

list(pathlib.Path(os.getenv("MAYA_LOCATION")).iterdir())
# Result: [WindowsPath('C:/Program Files/Autodesk/Maya2020/assets'),WindowsPath('C:/Program Files/Autodesk/Maya2020/bin'),WindowsPath('C:/Program Files/Autodesk/Maya2020/brushImages'),WindowsPath('C:/Program Files/Autodesk/Maya2020/brushShapes'),WindowsPath('C:/Program Files/Autodesk/Maya2020/cmake'),WindowsPath('C:/Program Files/Autodesk/Maya2020/devkit'),WindowsPath('C:/Program Files/Autodesk/Maya2020/docs'),WindowsPath('C:/Program Files/Autodesk/Maya2020/Examples'),WindowsPath('C:/Program Files/Autodesk/Maya2020/ExternalWebBrowser'),WindowsPath('C:/Program Files/Autodesk/Maya2020/icons'),WindowsPath('C:/Program Files/Autodesk/Maya2020/include'),WindowsPath('C:/Program Files/Autodesk/Maya2020/lib'),WindowsPath('C:/Program Files/Autodesk/Maya2020/mkspecs'),WindowsPath('C:/Program Files/Autodesk/Maya2020/modules'),WindowsPath('C:/Program Files/Autodesk/Maya2020/plug-ins'),WindowsPath('C:/Program Files/Autodesk/Maya2020/plugins'),WindowsPath('C:/Program Files/Autodesk/Maya2020/presets'),WindowsPath('C:/Program Files/Autodesk/Maya2020/Python'),WindowsPath('C:/Program Files/Autodesk/Maya2020/PYTHON_LICENSE'),WindowsPath('C:/Program Files/Autodesk/Maya2020/PYTHON_README'),WindowsPath('C:/Program Files/Autodesk/Maya2020/qml'),WindowsPath('C:/Program Files/Autodesk/Maya2020/resources'),WindowsPath('C:/Program Files/Autodesk/Maya2020/scripts'),WindowsPath('C:/Program Files/Autodesk/Maya2020/support'),WindowsPath('C:/Program Files/Autodesk/Maya2020/synColor'),WindowsPath('C:/Program Files/Autodesk/Maya2020/translations')] #

Vous pouvez trouver la hiérarchie parent avec parent et le contenu du répertoire avec ʻiterdir`

list(pathlib.Path(os.getenv("MAYA_LOCATION")).glob("Python/DLLs/*.pyd"))
# Result: [WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/bz2.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/pyexpat.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/select.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/unicodedata.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/winsound.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_bsddb.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_ctypes.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_ctypes_test.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_elementtree.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_hashlib.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_msi.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_multiprocessing.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_socket.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_sqlite3.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_ssl.pyd'),WindowsPath('C:/Program Files/Autodesk/Maya2020/python/dlls/_testcapi.pyd')] #

Vous pouvez également utiliser glob!

en conclusion

Comme j'ai pu utiliser pathlib en toute sécurité, je vais l'ajouter à la bibliothèque interne et l'utiliser activement. Au moment où Maya2021 sortira, c'est bien d'avoir Python3.7, mais je pense que c'est dommage car je pense que les outils existants commenceront le festival teko-in après la migration ...

Je vais m'y habituer un peu en préparation du prochain Python 3.7.

Recommended Posts

Utilisez pathlib dans Maya (Python2.7) en préparation du prochain Python3.7
Utilisez config.ini avec Python
Utiliser des dates en Python
mayapy - Python en Maya
Utiliser Valgrind avec Python
Nouveau dans Python 3.4.0 (1) --pathlib
Utiliser le profileur en Python
N'utilisez pas readlines () dans votre instruction Python for!
Voyons comment utiliser def en python
[Pour les débutants] Comment utiliser la commande say avec python!
Utiliser l'expression let en Python
Utiliser le protocole de mesure avec Python
Utiliser la fonction de rappel en Python
Utiliser le magasin de paramètres en Python
Utiliser le cache HTTP en Python
Utilisez l'ODM de MongoDB avec Python
Techniques de tri en Python
Utiliser Random Forest avec Python
Utilisez Spyder de Python IDE
À propos de "for _ in range ():" de python
Rechercher les fuites de mémoire dans Python
Rechercher des commandes externes avec python
Utilisez le tissu tel quel en python (fabric3)
Comment utiliser SQLite en Python
Ensuite, utilisez Python (Flask) pour Heroku!
Utiliser rospy avec virtualenv dans Python3
Comment utiliser Mysql avec python
Utiliser Python mis en pyenv avec NeoVim
Comment utiliser ChemSpider en Python
Utiliser OpenCV avec Python 3 dans Window
Exécutez unittest en Python (pour les débutants)
Web scraping pour les débutants en Python (4) -1
Envelopper (partie de) la bibliothèque AtCoder en Cython pour une utilisation en Python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Installer Networkx dans l'environnement Python 3.7 pour une utilisation dans les livres de science des données sur les logiciels malveillants
Une note à ceux qui utilisent Python dans Visual Studio (moi)
[Introduction à Python] Comment utiliser la classe en Python?
Utiliser l'impression dans l'expression lambda Python2
Utiliser DeepL avec python (pour la traduction d'articles)
Note de nfc.ContactlessFrontend () de nfcpy de python
Inject est recommandé pour DDD en Python
Utilisez facilement vos propres fonctions en Python
Conseils pour gérer les binaires en Python
Résumé de diverses instructions for en Python
Tapez les annotations pour Python2 dans les fichiers stub!
Modèle pour l'écriture de scripts batch en python
Un moyen simple d'utiliser Wikipedia avec Python
[Python] Organisation de l'utilisation des instructions
Traiter plusieurs listes avec for en Python
Obtenez un jeton pour conoha avec python
Exemple de gestion des fichiers eml en Python
Interpréteur Python dans Maya, Houdini, blender, Nuke
J'ai cherché un nombre premier avec python
Comment utiliser "deque" pour les données Python
Remarques sur l'utilisation de python (pydev) avec eclipse
Conseils pour créer de petits outils avec python
Comment utiliser les expressions régulières en Python
Comment utiliser is et == en Python
Utiliser l'API Resource plutôt que l'API client dans AWS SDK for Python (Boto3)