Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten

Einführung

Im Jahr 2020 wurde der Timer für Python Clock gestoppt.

Die CG-Industrie verwendet jedoch immer noch Python 2.7. (Da Maya, 3dsMAX, Houdini usw. noch nicht migriert wurden, kann nicht geholfen werden ...

Das DCC-Tool ist immer noch "Python2.7", aber das eigenständige Python-Tool muss nicht "Python2.7" sein, also verwende ich "Python3.7".

Ich benutze Python3.7 und denke, dass pathlib praktisch ist, aber als ich es nachgeschlagen habe, wurde ein Paket für Python2.7 vorbereitet, also habe ich versucht, es auch in Maya zu platzieren. Überlegen.

Installation

Wenn Sie pathlib mit Python 2.7 verwenden möchten, führen Sie einfach "pip install pathlib" aus Installieren Sie bei Verwendung mit Maya in "PYTHONPATH", das von Maya mit dem Flag "-t" erkannt wurde

Im Fall von I. Erstellen Sie einen Ordner "site-packages" in "% USERPROFILE% \ Documents \ maya \ scripts" und installieren Sie ihn dort. Die Moduldatei erkennt "PYTHONPATH". Ich bereite die Fledermaus für eine einfache Installation vor.

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

Versuchen Sie es mit

Nachdem die Installation abgeschlossen ist, werde ich versuchen, sie zu verwenden.

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

Ich kann es ohne Probleme importieren !!

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')] #

Sie finden die übergeordnete Hierarchie mit "parent" und den Inhalt des Verzeichnisses mit "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')] #

Sie können auch glob verwenden!

abschließend

Da ich pathlib sicher verwenden konnte, werde ich es der hauseigenen Bibliothek hinzufügen und aktiv verwenden. Wenn "Maya2021" herauskommt, ist es gut, "Python3.7" zu haben, aber ich finde es schade, weil ich denke, dass die vorhandenen Tools das Teko-In-Festival nach der Migration starten werden ...

Ich werde mich ein wenig daran gewöhnen, um mich auf das kommende "Python 3.7" vorzubereiten.

Recommended Posts

Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
Verwenden Sie config.ini mit Python
Verwenden Sie Datumsangaben in Python
Mayapy - Python in Maya
Verwenden Sie Valgrind mit Python
Neu in Python 3.4.0 (1) --pathlib
Verwenden Sie den Profiler in Python
Verwenden Sie in Ihrem Python keine readlines () für Anweisungen!
Mal sehen, wie def in Python verwendet wird
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Verwenden Sie den let-Ausdruck in Python
Verwenden Sie das Messprotokoll mit Python
Verwenden Sie die Rückruffunktion in Python
Verwenden Sie den Parameterspeicher in Python
Verwenden Sie den HTTP-Cache in Python
Techniken zum Sortieren in Python
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
Über "für _ in range ():" von Python
Überprüfen Sie Python auf Speicherlecks
Suchen Sie mit Python nach externen Befehlen
Verwenden Sie Stoff wie in Python (Stoff3)
Verwendung von SQLite in Python
Verwenden Sie als nächstes Python (Flask) für Heroku!
Verwenden Sie rospy mit virtualenv in Python3
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Verwendung von ChemSpider in Python
Verwenden Sie OpenCV mit Python 3 in Window
Führen Sie unittest in Python aus (für Anfänger)
Web Scraping für Anfänger in Python (4) -1
Wrap (Teil der) AtCoder Library in Cython zur Verwendung in Python
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Installieren Sie Networkx in der Python 3.7-Umgebung zur Verwendung in Malware Data Science-Büchern
Ein Hinweis für diejenigen, die Python in Visual Studio verwenden (ich)
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Verwenden Sie print in Python2 lambda expression
Verwenden Sie DeepL mit Python (für die Artikelübersetzung)
Anmerkung von nfc.ContactlessFrontend () von nfcpy von Python
Inject wird für DDD in Python empfohlen
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Tipps zum Umgang mit Binärdateien in Python
Zusammenfassung verschiedener for-Anweisungen in Python
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Vorlage zum Schreiben von Batch-Skripten in Python
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
[Python] Organisieren der Verwendung für Anweisungen
Verarbeiten Sie mehrere Listen mit for in Python
Holen Sie sich ein Zeichen für Conoha mit Python
Beispiel für den Umgang mit EML-Dateien in Python
Python-Dolmetscher in Maya, Houdini, Mixer, Nuke
Ich habe mit Python nach einer Primzahl gesucht
Verwendung von "deque" für Python-Daten
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Tipps zum Erstellen kleiner Werkzeuge mit Python
Verwendung regulärer Ausdrücke in Python
Verwendung ist und == in Python
Verwenden Sie die Ressourcen-API anstelle der Client-API im AWS SDK für Python (Boto3).