SlideShare a Scribd company logo
FOR MAYA
Instruction of Installation guide
整理王. JP
1. Compile to sip with PyQt5.
2. How to setting up When you using PyCharm.
3. WING IDE
Overview
List of Equipment.
PyQt5 build
Python 2.7.11
SIP 4.19.4
PyQt gpl 5.9.1
Install script as command script
Visual studio 2015 or 2017 as visual studio command prompt.
PyCharm IDE setup for Maya
MayaCharm
python connection of open port script
python connection of remote debug open port script
VSCode Setup for Maya
PTVSD 3.0.0
VSCode python extension
Overview
1. COMPILE TO SIP WITH PYQT5.
Install python version of 2.7.11
• https://www.python.org/downloads/release/python-2711/
1. Compile to sip with PyQt5.
Make Symbolic python.exe  mayapy.exe
1. Compile to sip with PyQt5.
1. Run the command console as administrator.
2. Go to “C:Program FilesAutodeskMaya2018bin”
3. Command : mklink python.exe mayapy.exe
Install to Autodesk® Maya 2018 - Developer Kit
(aka devkit)
• https://apps.autodesk.com/MAYA/en/Detail/Index?id=552549163637
6351277&appLang=en&os=Win64&autostart=true
1. Compile to sip with PyQt5.
Install to Autodesk® Maya 2018 - Developer Kit
(aka devkit)
• List of Replacement directory
• All directory of devkitBase to MayaRoot
1. Compile to sip with PyQt5.
Install to Autodesk® Maya 2018 - Developer Kit
(aka devkit)
• C:Program FilesAutodeskMaya2018devkit
1. Compile to sip with PyQt5.
Modify to qt.conf
C:Program
FilesAutodeskMaya2018binqt.conf
1. Compile to sip with PyQt5.
Your Maya environments path
https://knowledge.autodesk.com/support/maya/learn-
explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-228CCA33-4AFE-4380-8C3D-
18D23F7EAC72-htm.html
MAYA_LOCATION
C:Program FilesAutodeskMaya2018
1. Compile to sip with PyQt5.
Building to SIP
• Check to exist this bat file as vcvarsall.bat
1. Compile to sip with PyQt5.
Create setup.bat
1. Compile to sip with PyQt5.
@echo off
set MAYAVERSION=2018
set ADSKQTVERSION=5.6.1
set SIPVERSION=4.19.4
set PYQTVERSION=5.9.1
set MAYADRIVE=m:
set BUILDDRIVE=v:
if exist %MAYADRIVE%nul subst %MAYADRIVE% /d
subst %MAYADRIVE% "C:Program FilesAutodeskMaya%MAYAVERSION%"
set MAYA_LOCATION=%MAYADRIVE%
set MAYAPYQTBUILD=%~dp0
rem Removing trailing 
set MAYAPYQTBUILD=%MAYAPYQTBUILD:~0,-1%
if exist %BUILDDRIVE%nul subst %BUILDDRIVE% /d
subst %BUILDDRIVE% "%MAYAPYQTBUILD%"
set SIPDIR=%BUILDDRIVE%sip-%SIPVERSION%
set PYQTDIR=%BUILDDRIVE%PyQt5_gpl-%PYQTVERSION%
rem set ADSKQTDIR=%BUILDDRIVE%qt-%ADSKQTVERSION%
set QTDIR=%MAYA_LOCATION%
set PATH=%QTDIR%bin;%PATH%
set MSVC_VERSION=2015
set MSVC_DIR=C:Program Files (x86)Microsoft Visual Studio 14.0
set QMAKESPEC=%QTDIR%mkspecswin32-msvc%MSVC_VERSION%
set _QMAKESPEC_=win32-msvc%MSVC_VERSION%
if ["%LIBPATH%"]==[""] call "%MSVC_DIR%VCvcvarsall" amd64
set INCLUDE=%INCLUDE%;%MAYA_LOCATION%includepython2.7
set LIB=%LIB%;%MAYA_LOCATION%lib
Building to SIP
• Download to sip-4.19.4
• https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.4/
• Create new directory as name of __sdkext into your “D” drive.
 D:__sdkext
 Uncompress sip-4.19.4 into __sdkext foler.
1. Compile to sip with PyQt5.
Building to SIP
• Create sip.bat
1. Compile to sip with PyQt5.
@echo off
set XXX=%~dp0
if ["%MAYAPYQTBUILD%"]==[""] call
"%XXX%setup.bat"
pushd %SIPDIR%
rem "%MAYA_LOCATION%binmayapy" configure-
ng.py --spec %_QMAKESPEC_%
"%MAYA_LOCATION%binmayapy" configure.py
nmake
nmake install
popd
Building to SIP
• Install to Visual studio 2015 or 2017
• Run to visual studio command prompt as administrator mode.
1. Compile to sip with PyQt5.
Building to SIP
• Go to your __sdkext in command prompt.
1. Compile to sip with PyQt5.
Building to SIP
• Execute setup.bat in command prompt
• Execute sip.bat
1. Compile to sip with PyQt5.
• Checking to import sip in Maya2018
Building to PyQt5
• Download PyQt5 source code.
• https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.9.1/
1. Compile to sip with PyQt5.
Building to PyQt5
• Create pyqt.bat
1. Compile to sip with PyQt5.
@echo off
set XXX=%~dp0
if ["%MAYAPYQTBUILD%"]==[""] call "%XXX%setup.bat"
set QMAKESPEC=%QTDIR%mkspecs%_QMAKESPEC_%
if not exist "%QMAKESPEC%qmake.conf" (
echo "You need to uncompress %MAYA_LOCATION%mkspecsqt-5.6.1_vc14-mkspecs.tar.gz !"
goto end
)
if not exist "%MAYA_LOCATION%includeQtQtCoreqdir.h" (
echo "You need to uncompress %MAYA_LOCATION%includeqt-5.6.1_vc14-include.tar.gz in %MAYA_LOCATION%includeQt !"
goto end
)
findstr /L /C:"Headers=include/Qt" "%MAYA_LOCATION%binqt.conf" >nul 2>&1
if ERRORLEVEL 1 (
echo "You need to edit %MAYA_LOCATION%binqt.conf to use 'Headers=include/Qt'"
goto end
)
findstr /L /C:"-lqtmain -lshell32" "%QTDIR%mkspecscommonmsvc-desktop.conf" >nul 2>&1
if ERRORLEVEL 1 (
echo "You need to edit %QTDIR%mkspecscommonmsvc-desktop.conf to use 'QMAKE_LIBS_QT_ENTRY = -lqtmain -lshell32'"
goto end
)
if not exist "%MAYA_LOCATION%includeQtqtnfc.disabled" (
echo "You need to rename %MAYA_LOCATION%includeQtqtnfc to %MAYA_LOCATIONincludeQtqtnfc.disabled"
goto end
)
pushd %PYQTDIR%
rem "%MAYA_LOCATION%binmayapy" configure-ng.py --spec %_QMAKESPEC_%
"%MAYA_LOCATION%binmayapy" configure.py --spec %QMAKESPEC% LIBDIR_QT="%QTDIR%lib" INCDIR_QT="%QTDIR%includeQt" MOC="%QTDIR%binmoc.exe" --
sip="%QTDIR%Pythonsip.exe" --sip-incdir="%QTDIR%Pythoninclude" -w --no-designer-plugin
nmake
nmake install
popd
:end
Building to PyQt5
• Must check item.
1. Compile to sip with PyQt5.
"You need to rename %MAYA_LOCATION%includeQtqtnfc to %MAYA_LOCATIONincludeQtqtnfc.disabled"
C:Program FilesAutodeskMaya2018includeQtqtnfc
Folder name to qtfnc.disabled
"You need to edit %QTDIR%mkspecscommonmsvc-desktop.conf to use 'QMAKE_LIBS_QT_ENTRY = -lqtmain -lshell32'"
Building to PyQt5
• Build to PyQt5 via visual studio command prompt.
• Asking to license about python then just type to “yes”.
1. Compile to sip with PyQt5.
Building to PyQt5
• Testing PyQt5 in Maya2018.
1. Compile to sip with PyQt5.
• Testing PyQt5 in Maya2018.
1. Compile to sip with PyQt5.
import sys
from PyQt5.QtWidgets import (QWidget, QToolTip, QPushButton)
from PyQt5.QtGui import QFont
class Example(QWidget):
def __init__(self):
super(Example,self).__init__()
self.initUI()
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10))
self.setToolTip('This is a <b>QWidget</b> widget')
btn = QPushButton('Button', self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
btn.resize(btn.sizeHint())
btn.move(50, 50)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Tooltips')
self.show()
ex = Example()
2. HOW TO SETTING UP WHEN YOU USING
PYCHARM.
Connecting to port
• import maya.cmds as cmds
• if not cmds.commandPort(':4434', q=True):
• cmds.commandPort(n=':4434')
2. How to setting up When you using pycharm.
Installing to MAYA CHARM.
Using Alt+F7 to open properties window then go to Plugins.
Go to Browse repositories.
Searching to MayaCharm then install.
2. How to setting up When you using pycharm.
Copy script then using into the Maya.
import maya.cmds as cmds
if not cmds.commandPort(':4434', q=True):
cmds.commandPort(n=':4434')
2. How to setting up When you using pycharm.
Select to interpreter from maya bin folder as python.exe
 Already We make link via mklink command between python and mayapy
2. How to setting up When you using pycharm.
Additional setup your interpreter.
 Go to More… then organizing to Interpreter path like below.
2. How to setting up When you using PyCharm.
MayaCharm Python Remote debugger setting.
Go to “Run” then open to “Edit Configurations…”
2. How to setting up When you using PyCharm.
MayaCharm Python Remote debugger setting.
Adding to new configuration of MayaCharm Debugger
2. How to setting up When you using PyCharm.
MayaCharm Python Remote debugger setting.
Execute Debug Maya2018 via Alt + F5
2. How to setting up When you using PyCharm.
3. WING IDE
Overview
Install Wind-ide
• https://wingware.com/
3. WING IDE FOR MAYA.
Install Wind-ide
3. WING IDE FOR MAYA.
1. Click to lower left side small bug icon then enable to Accept debug connections.
2. Execute connection code via simple python code below.
3. WING IDE FOR MAYA.
import wingdbstub
reload(wingdbstub)
try:
wingdbstub.Ensure()
print 'Connected to WingIDE 6.0'
except ValueError:
print 'Could NOT connect to wingIDE'
Create server script into your %MAYA_SCRIPT_PATH%
mayaWingServer.py
3. WING IDE FOR MAYA.
import sys
import socket
import threading
import maya.utils as mu
import maya.OpenMaya as om
import executeWingCode
#Global variables
PORT = 6000 # Needs to be the same value as authored in wingHotkeys.py below.
SIZE = 1024
BACKLOG = 5
#Functions
def processDataInMaya(data):
try:
# If we don't evaluate in maya.util.executeInMainThreadWithResult(), Maya can crash, and that's no good.
mu.executeInMainThreadWithResult(executeWingCode.main, data)
except Exception, e:
om.MGlobal.displayError('Encountered exception: %s'%e)
def server(processFunc=processDataInMaya, port=PORT, backlog=BACKLOG, size=SIZE):
host = ''
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host,port))
except:
print 'Tried to open port %s, but failed: Its probably already openn'%port
return
s.listen(backlog)
print 'Starting Python server, listening on port %s...n'%port
while True:
client, address = s.accept() # client is a socket object
data = client.recv(size)
if data:
processFunc(data)
client.close()
def startServer():
threading.Thread(target=server).start()
Start python server via simple python script at below.
3. WING IDE FOR MAYA.
import maya.cmds as cmds
cmds.evalDeferred('import mayaWingServer; mayaWingServer.startServer()', lowestPriority=True)
Configuration of User hot key
3. WING IDE FOR MAYA.
Create wingHotkeys.py into ‘C:Users<your_username>AppDataRoamingWing IDE 6scripts‘
import wingapi
import socket
import os
import tempfile
def getWingText():
editor = wingapi.gApplication.GetActiveEditor()
if editor is None:
return
doc = editor.GetDocument()
start, end = editor.GetSelection()
txt = doc.GetCharRange(start, end)
return txt
def send_to_maya(language):
# The port the sever is listening on in mayaWingServer.py :
commandPort = 6000
if language != 'mel' and language != 'python':
raise ValueError('Expecting either 'mel' or 'python'')
txt = getWingText()
if language == 'mel':
if not txt.endswith(';'):
txt += ';'
# Cross-platform way to get a temp dir:
tempDir = tempfile.gettempdir()
tempFile = os.path.join(tempDir, 'wingData.txt')
f = open(tempFile, 'w')
f.write(txt)
f.close()
mSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # works in 2013...
# Now ping Maya over the command-port
try:
mSocket.connect(('localhost', commandPort)) # 2016, mac
# Send our code to Maya:
# It is intercepted via the function processDataInMaya(), created via mayaWingServer.py
mSocket.send(language)
except Exception, e:
print 'Send to Maya fail:', e
mSocket.close()
def python_to_maya():
send_to_maya('python')
def mel_to_maya():
send_to_maya('mel')
Configuration of User hot key
3. WING IDE FOR MAYA.
Create executeWingCode.py into %MAYA_SCRIPT_PATH%
import __main__
import os
import tempfile
import maya.OpenMaya as om
def main(codeType):
# Cross-platform way to get a temp dir:
tempDir = tempfile.gettempdir()
tempFile = os.path.join(tempDir, 'wingData.txt').replace('', '/')
if os.access(tempFile , os.F_OK):
# Print the lines from the file in Maya:
with open(tempFile, 'r') as f:
for line in f.readlines():
print line.rstrip()
print 'n',
if codeType == 'python':
# execute the file contents in Maya:
with open(tempFile , 'r') as f:
exec(f, __main__.__dict__, __main__.__dict__)
elif codeType == 'mel':
melCmd = 'source %s'%tempFile
om.MGlobal.executeCommand(melCmd, True, True)
else:
print 'No Wing-generated temp file exists: ' + tempFile
Configuration of User hot key
3. WING IDE FOR MAYA.
Go to Keyboard Personality -> Configure Tab Key…
Press to Insert then set up to Key with Command.
Command is ‘python_to_maya’
Configuration of User hot key
3. WING IDE FOR MAYA.
Go to Maya command line to type to code at below because When you receive from Wing-Ide that must open port local
host with port of 6000.
cmds.commandPort(name="127.0.0.1:6000", close=True, echoOutput=True)
cmds.commandPort(name="127.0.0.1:6000", close=True, echoOutput=True)
Closing port command at below
Configuration of User hot key
3. WING IDE FOR MAYA.
Execution test
import maya.cmds as cmds
cmds.polySphere(r=5)
Auto Complete.
3. WING IDE FOR MAYA.
Go to ‘Edit > Preferences > Source Analysis’
In the ‘Interface File Path‘, add the ‘pi‘ folder you find inside the pymel you just extracted. TO be
precise, it can be found in ’devkit/other/pymel/extras/completion/py’. For added measure, I added
both sub-folders inside the pi folder as well.

More Related Content

What's hot

레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성
준태 김
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
은아 정
 
KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기
용태 이
 
레벨 디자인 튜토리얼: 전장
레벨 디자인 튜토리얼: 전장레벨 디자인 튜토리얼: 전장
레벨 디자인 튜토리얼: 전장
용태 이
 
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
Jun Hyuk Jung
 
OpenGL L01-Primitives
OpenGL L01-PrimitivesOpenGL L01-Primitives
OpenGL L01-Primitives
Mohammad Shaker
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
PandoraCube , Sejong University
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인
용태 이
 
Level design in 11 points
Level design in 11 pointsLevel design in 11 points
Level design in 11 points용태 이
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
Donghun Lee
 
02. 게임 전투 공식
02. 게임 전투 공식02. 게임 전투 공식
02. 게임 전투 공식
Chanman Jo
 
레벨 디자인 튜토리얼: 엄폐물
레벨 디자인 튜토리얼: 엄폐물레벨 디자인 튜토리얼: 엄폐물
레벨 디자인 튜토리얼: 엄폐물
용태 이
 
전투구역의 해부
전투구역의 해부전투구역의 해부
전투구역의 해부
준태 김
 
블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인
용태 이
 
Science tahun 5- buruj
Science tahun 5- burujScience tahun 5- buruj
Science tahun 5- burujMomoe Meiji
 
Air dan larutan 2014
Air dan larutan 2014Air dan larutan 2014
Air dan larutan 2014
whc
 
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
エピック・ゲームズ・ジャパン Epic Games Japan
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들Jubok Kim
 
임건호 시간의 마녀(2 d)
임건호 시간의 마녀(2 d)임건호 시간의 마녀(2 d)
임건호 시간의 마녀(2 d)
임 건호
 

What's hot (20)

레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
 
KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기
 
레벨 디자인 튜토리얼: 전장
레벨 디자인 튜토리얼: 전장레벨 디자인 튜토리얼: 전장
레벨 디자인 튜토리얼: 전장
 
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
레벨기획 프론티어 온라인 '이름없는 동굴' 던전_v2
 
OpenGL L01-Primitives
OpenGL L01-PrimitivesOpenGL L01-Primitives
OpenGL L01-Primitives
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인
 
Level design in 11 points
Level design in 11 pointsLevel design in 11 points
Level design in 11 points
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
 
02. 게임 전투 공식
02. 게임 전투 공식02. 게임 전투 공식
02. 게임 전투 공식
 
레벨 디자인 튜토리얼: 엄폐물
레벨 디자인 튜토리얼: 엄폐물레벨 디자인 튜토리얼: 엄폐물
레벨 디자인 튜토리얼: 엄폐물
 
전투구역의 해부
전투구역의 해부전투구역의 해부
전투구역의 해부
 
블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인
 
Science tahun 5- buruj
Science tahun 5- burujScience tahun 5- buruj
Science tahun 5- buruj
 
Air dan larutan 2014
Air dan larutan 2014Air dan larutan 2014
Air dan larutan 2014
 
Tekanan
TekananTekanan
Tekanan
 
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
 
임건호 시간의 마녀(2 d)
임건호 시간의 마녀(2 d)임건호 시간의 마녀(2 d)
임건호 시간의 마녀(2 d)
 

Similar to Python maya 2018 setup note

Python from zero to hero (Twitter Explorer)
Python from zero to hero (Twitter Explorer)Python from zero to hero (Twitter Explorer)
Python from zero to hero (Twitter Explorer)
Yuriy Senko
 
5 steps for successful automation with Hiptest
5 steps for  successful automation with Hiptest5 steps for  successful automation with Hiptest
5 steps for successful automation with Hiptest
Community Manager @Hiptest
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Docker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
Joel W. King
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI Pipelines
Sebastian Witowski
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
OpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXOpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATX
Anne Gentle
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
Jazkarta, Inc.
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
QAware GmbH
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
Mario-Leander Reimer
 
Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practices
Bill Liu
 
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Test Girls
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Amazon Web Services
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
HanoiJUG
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
Annie Huang
 

Similar to Python maya 2018 setup note (20)

Python from zero to hero (Twitter Explorer)
Python from zero to hero (Twitter Explorer)Python from zero to hero (Twitter Explorer)
Python from zero to hero (Twitter Explorer)
 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
 
5 steps for successful automation with Hiptest
5 steps for  successful automation with Hiptest5 steps for  successful automation with Hiptest
5 steps for successful automation with Hiptest
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI Pipelines
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 
OpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXOpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATX
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practices
 
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
 

More from Lee Jungpyo

X2M water by 巨人网咯 2018
X2M water by 巨人网咯 2018X2M water by 巨人网咯 2018
X2M water by 巨人网咯 2018
Lee Jungpyo
 
天谕手游图形版本
天谕手游图形版本天谕手游图形版本
天谕手游图形版本
Lee Jungpyo
 
Unite17 shanghai-lee jungpyo-neteasepangu-full chinese
Unite17 shanghai-lee jungpyo-neteasepangu-full chineseUnite17 shanghai-lee jungpyo-neteasepangu-full chinese
Unite17 shanghai-lee jungpyo-neteasepangu-full chinese
Lee Jungpyo
 
Substanceshanghaippt repacked
Substanceshanghaippt repackedSubstanceshanghaippt repacked
Substanceshanghaippt repacked
Lee Jungpyo
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
Lee Jungpyo
 
Cgc 2014
Cgc 2014Cgc 2014
Cgc 2014
Lee Jungpyo
 
양손 도끼 모델링 과정 작성자 (천동재.)
양손 도끼 모델링 과정 작성자 (천동재.)양손 도끼 모델링 과정 작성자 (천동재.)
양손 도끼 모델링 과정 작성자 (천동재.)
Lee Jungpyo
 
바바누드바디
바바누드바디바바누드바디
바바누드바디
Lee Jungpyo
 
한손 도끼 모델링 과정 (작성자 강구영)
한손 도끼 모델링 과정   (작성자 강구영)한손 도끼 모델링 과정   (작성자 강구영)
한손 도끼 모델링 과정 (작성자 강구영)
Lee Jungpyo
 
코덱스 워리어 무기제작가이드 천동재
코덱스 워리어 무기제작가이드 천동재코덱스 워리어 무기제작가이드 천동재
코덱스 워리어 무기제작가이드 천동재
Lee Jungpyo
 
Ndo2 가이드 강구영
Ndo2 가이드 강구영Ndo2 가이드 강구영
Ndo2 가이드 강구영
Lee Jungpyo
 
Shader EXAM.
Shader EXAM.Shader EXAM.
Shader EXAM.
Lee Jungpyo
 
Asia bootcamp devclan
Asia bootcamp devclanAsia bootcamp devclan
Asia bootcamp devclan
Lee Jungpyo
 
Codex project
Codex projectCodex project
Codex project
Lee Jungpyo
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
Lee Jungpyo
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~Lee Jungpyo
 
홍길동제안서
홍길동제안서홍길동제안서
홍길동제안서
Lee Jungpyo
 
핼리네시아러프컨셉기획
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획
Lee Jungpyo
 

More from Lee Jungpyo (20)

X2M water by 巨人网咯 2018
X2M water by 巨人网咯 2018X2M water by 巨人网咯 2018
X2M water by 巨人网咯 2018
 
天谕手游图形版本
天谕手游图形版本天谕手游图形版本
天谕手游图形版本
 
Unite17 shanghai-lee jungpyo-neteasepangu-full chinese
Unite17 shanghai-lee jungpyo-neteasepangu-full chineseUnite17 shanghai-lee jungpyo-neteasepangu-full chinese
Unite17 shanghai-lee jungpyo-neteasepangu-full chinese
 
Substanceshanghaippt repacked
Substanceshanghaippt repackedSubstanceshanghaippt repacked
Substanceshanghaippt repacked
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
 
Cgc 2014
Cgc 2014Cgc 2014
Cgc 2014
 
양손 도끼 모델링 과정 작성자 (천동재.)
양손 도끼 모델링 과정 작성자 (천동재.)양손 도끼 모델링 과정 작성자 (천동재.)
양손 도끼 모델링 과정 작성자 (천동재.)
 
바바누드바디
바바누드바디바바누드바디
바바누드바디
 
한손 도끼 모델링 과정 (작성자 강구영)
한손 도끼 모델링 과정   (작성자 강구영)한손 도끼 모델링 과정   (작성자 강구영)
한손 도끼 모델링 과정 (작성자 강구영)
 
코덱스 워리어 무기제작가이드 천동재
코덱스 워리어 무기제작가이드 천동재코덱스 워리어 무기제작가이드 천동재
코덱스 워리어 무기제작가이드 천동재
 
Ndo2 가이드 강구영
Ndo2 가이드 강구영Ndo2 가이드 강구영
Ndo2 가이드 강구영
 
Shader EXAM.
Shader EXAM.Shader EXAM.
Shader EXAM.
 
Asia bootcamp devclan
Asia bootcamp devclanAsia bootcamp devclan
Asia bootcamp devclan
 
Codex project
Codex projectCodex project
Codex project
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~
 
Resume
ResumeResume
Resume
 
Pre analyze for
Pre analyze forPre analyze for
Pre analyze for
 
홍길동제안서
홍길동제안서홍길동제안서
홍길동제안서
 
핼리네시아러프컨셉기획
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획
 

Recently uploaded

Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
nooriasukmaningtyas
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
manasideore6
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
obonagu
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx
benykoy2024
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
dxobcob
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 

Recently uploaded (20)

Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 

Python maya 2018 setup note

  • 1. FOR MAYA Instruction of Installation guide 整理王. JP
  • 2. 1. Compile to sip with PyQt5. 2. How to setting up When you using PyCharm. 3. WING IDE Overview
  • 3. List of Equipment. PyQt5 build Python 2.7.11 SIP 4.19.4 PyQt gpl 5.9.1 Install script as command script Visual studio 2015 or 2017 as visual studio command prompt. PyCharm IDE setup for Maya MayaCharm python connection of open port script python connection of remote debug open port script VSCode Setup for Maya PTVSD 3.0.0 VSCode python extension Overview
  • 4. 1. COMPILE TO SIP WITH PYQT5.
  • 5. Install python version of 2.7.11 • https://www.python.org/downloads/release/python-2711/ 1. Compile to sip with PyQt5.
  • 6. Make Symbolic python.exe  mayapy.exe 1. Compile to sip with PyQt5. 1. Run the command console as administrator. 2. Go to “C:Program FilesAutodeskMaya2018bin” 3. Command : mklink python.exe mayapy.exe
  • 7. Install to Autodesk® Maya 2018 - Developer Kit (aka devkit) • https://apps.autodesk.com/MAYA/en/Detail/Index?id=552549163637 6351277&appLang=en&os=Win64&autostart=true 1. Compile to sip with PyQt5.
  • 8. Install to Autodesk® Maya 2018 - Developer Kit (aka devkit) • List of Replacement directory • All directory of devkitBase to MayaRoot 1. Compile to sip with PyQt5.
  • 9. Install to Autodesk® Maya 2018 - Developer Kit (aka devkit) • C:Program FilesAutodeskMaya2018devkit 1. Compile to sip with PyQt5.
  • 11. Your Maya environments path https://knowledge.autodesk.com/support/maya/learn- explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-228CCA33-4AFE-4380-8C3D- 18D23F7EAC72-htm.html MAYA_LOCATION C:Program FilesAutodeskMaya2018 1. Compile to sip with PyQt5.
  • 12. Building to SIP • Check to exist this bat file as vcvarsall.bat 1. Compile to sip with PyQt5.
  • 13. Create setup.bat 1. Compile to sip with PyQt5. @echo off set MAYAVERSION=2018 set ADSKQTVERSION=5.6.1 set SIPVERSION=4.19.4 set PYQTVERSION=5.9.1 set MAYADRIVE=m: set BUILDDRIVE=v: if exist %MAYADRIVE%nul subst %MAYADRIVE% /d subst %MAYADRIVE% "C:Program FilesAutodeskMaya%MAYAVERSION%" set MAYA_LOCATION=%MAYADRIVE% set MAYAPYQTBUILD=%~dp0 rem Removing trailing set MAYAPYQTBUILD=%MAYAPYQTBUILD:~0,-1% if exist %BUILDDRIVE%nul subst %BUILDDRIVE% /d subst %BUILDDRIVE% "%MAYAPYQTBUILD%" set SIPDIR=%BUILDDRIVE%sip-%SIPVERSION% set PYQTDIR=%BUILDDRIVE%PyQt5_gpl-%PYQTVERSION% rem set ADSKQTDIR=%BUILDDRIVE%qt-%ADSKQTVERSION% set QTDIR=%MAYA_LOCATION% set PATH=%QTDIR%bin;%PATH% set MSVC_VERSION=2015 set MSVC_DIR=C:Program Files (x86)Microsoft Visual Studio 14.0 set QMAKESPEC=%QTDIR%mkspecswin32-msvc%MSVC_VERSION% set _QMAKESPEC_=win32-msvc%MSVC_VERSION% if ["%LIBPATH%"]==[""] call "%MSVC_DIR%VCvcvarsall" amd64 set INCLUDE=%INCLUDE%;%MAYA_LOCATION%includepython2.7 set LIB=%LIB%;%MAYA_LOCATION%lib
  • 14. Building to SIP • Download to sip-4.19.4 • https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.4/ • Create new directory as name of __sdkext into your “D” drive.  D:__sdkext  Uncompress sip-4.19.4 into __sdkext foler. 1. Compile to sip with PyQt5.
  • 15. Building to SIP • Create sip.bat 1. Compile to sip with PyQt5. @echo off set XXX=%~dp0 if ["%MAYAPYQTBUILD%"]==[""] call "%XXX%setup.bat" pushd %SIPDIR% rem "%MAYA_LOCATION%binmayapy" configure- ng.py --spec %_QMAKESPEC_% "%MAYA_LOCATION%binmayapy" configure.py nmake nmake install popd
  • 16. Building to SIP • Install to Visual studio 2015 or 2017 • Run to visual studio command prompt as administrator mode. 1. Compile to sip with PyQt5.
  • 17. Building to SIP • Go to your __sdkext in command prompt. 1. Compile to sip with PyQt5.
  • 18. Building to SIP • Execute setup.bat in command prompt • Execute sip.bat 1. Compile to sip with PyQt5. • Checking to import sip in Maya2018
  • 19. Building to PyQt5 • Download PyQt5 source code. • https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.9.1/ 1. Compile to sip with PyQt5.
  • 20. Building to PyQt5 • Create pyqt.bat 1. Compile to sip with PyQt5. @echo off set XXX=%~dp0 if ["%MAYAPYQTBUILD%"]==[""] call "%XXX%setup.bat" set QMAKESPEC=%QTDIR%mkspecs%_QMAKESPEC_% if not exist "%QMAKESPEC%qmake.conf" ( echo "You need to uncompress %MAYA_LOCATION%mkspecsqt-5.6.1_vc14-mkspecs.tar.gz !" goto end ) if not exist "%MAYA_LOCATION%includeQtQtCoreqdir.h" ( echo "You need to uncompress %MAYA_LOCATION%includeqt-5.6.1_vc14-include.tar.gz in %MAYA_LOCATION%includeQt !" goto end ) findstr /L /C:"Headers=include/Qt" "%MAYA_LOCATION%binqt.conf" >nul 2>&1 if ERRORLEVEL 1 ( echo "You need to edit %MAYA_LOCATION%binqt.conf to use 'Headers=include/Qt'" goto end ) findstr /L /C:"-lqtmain -lshell32" "%QTDIR%mkspecscommonmsvc-desktop.conf" >nul 2>&1 if ERRORLEVEL 1 ( echo "You need to edit %QTDIR%mkspecscommonmsvc-desktop.conf to use 'QMAKE_LIBS_QT_ENTRY = -lqtmain -lshell32'" goto end ) if not exist "%MAYA_LOCATION%includeQtqtnfc.disabled" ( echo "You need to rename %MAYA_LOCATION%includeQtqtnfc to %MAYA_LOCATIONincludeQtqtnfc.disabled" goto end ) pushd %PYQTDIR% rem "%MAYA_LOCATION%binmayapy" configure-ng.py --spec %_QMAKESPEC_% "%MAYA_LOCATION%binmayapy" configure.py --spec %QMAKESPEC% LIBDIR_QT="%QTDIR%lib" INCDIR_QT="%QTDIR%includeQt" MOC="%QTDIR%binmoc.exe" -- sip="%QTDIR%Pythonsip.exe" --sip-incdir="%QTDIR%Pythoninclude" -w --no-designer-plugin nmake nmake install popd :end
  • 21. Building to PyQt5 • Must check item. 1. Compile to sip with PyQt5. "You need to rename %MAYA_LOCATION%includeQtqtnfc to %MAYA_LOCATIONincludeQtqtnfc.disabled" C:Program FilesAutodeskMaya2018includeQtqtnfc Folder name to qtfnc.disabled "You need to edit %QTDIR%mkspecscommonmsvc-desktop.conf to use 'QMAKE_LIBS_QT_ENTRY = -lqtmain -lshell32'"
  • 22. Building to PyQt5 • Build to PyQt5 via visual studio command prompt. • Asking to license about python then just type to “yes”. 1. Compile to sip with PyQt5.
  • 23. Building to PyQt5 • Testing PyQt5 in Maya2018. 1. Compile to sip with PyQt5.
  • 24. • Testing PyQt5 in Maya2018. 1. Compile to sip with PyQt5. import sys from PyQt5.QtWidgets import (QWidget, QToolTip, QPushButton) from PyQt5.QtGui import QFont class Example(QWidget): def __init__(self): super(Example,self).__init__() self.initUI() def initUI(self): QToolTip.setFont(QFont('SansSerif', 10)) self.setToolTip('This is a <b>QWidget</b> widget') btn = QPushButton('Button', self) btn.setToolTip('This is a <b>QPushButton</b> widget') btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('Tooltips') self.show() ex = Example()
  • 25. 2. HOW TO SETTING UP WHEN YOU USING PYCHARM.
  • 26. Connecting to port • import maya.cmds as cmds • if not cmds.commandPort(':4434', q=True): • cmds.commandPort(n=':4434') 2. How to setting up When you using pycharm.
  • 27. Installing to MAYA CHARM. Using Alt+F7 to open properties window then go to Plugins. Go to Browse repositories. Searching to MayaCharm then install. 2. How to setting up When you using pycharm.
  • 28. Copy script then using into the Maya. import maya.cmds as cmds if not cmds.commandPort(':4434', q=True): cmds.commandPort(n=':4434') 2. How to setting up When you using pycharm.
  • 29. Select to interpreter from maya bin folder as python.exe  Already We make link via mklink command between python and mayapy 2. How to setting up When you using pycharm.
  • 30. Additional setup your interpreter.  Go to More… then organizing to Interpreter path like below. 2. How to setting up When you using PyCharm.
  • 31. MayaCharm Python Remote debugger setting. Go to “Run” then open to “Edit Configurations…” 2. How to setting up When you using PyCharm.
  • 32. MayaCharm Python Remote debugger setting. Adding to new configuration of MayaCharm Debugger 2. How to setting up When you using PyCharm.
  • 33. MayaCharm Python Remote debugger setting. Execute Debug Maya2018 via Alt + F5 2. How to setting up When you using PyCharm.
  • 36. Install Wind-ide 3. WING IDE FOR MAYA.
  • 37. 1. Click to lower left side small bug icon then enable to Accept debug connections. 2. Execute connection code via simple python code below. 3. WING IDE FOR MAYA. import wingdbstub reload(wingdbstub) try: wingdbstub.Ensure() print 'Connected to WingIDE 6.0' except ValueError: print 'Could NOT connect to wingIDE'
  • 38. Create server script into your %MAYA_SCRIPT_PATH% mayaWingServer.py 3. WING IDE FOR MAYA. import sys import socket import threading import maya.utils as mu import maya.OpenMaya as om import executeWingCode #Global variables PORT = 6000 # Needs to be the same value as authored in wingHotkeys.py below. SIZE = 1024 BACKLOG = 5 #Functions def processDataInMaya(data): try: # If we don't evaluate in maya.util.executeInMainThreadWithResult(), Maya can crash, and that's no good. mu.executeInMainThreadWithResult(executeWingCode.main, data) except Exception, e: om.MGlobal.displayError('Encountered exception: %s'%e) def server(processFunc=processDataInMaya, port=PORT, backlog=BACKLOG, size=SIZE): host = '' s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.bind((host,port)) except: print 'Tried to open port %s, but failed: Its probably already openn'%port return s.listen(backlog) print 'Starting Python server, listening on port %s...n'%port while True: client, address = s.accept() # client is a socket object data = client.recv(size) if data: processFunc(data) client.close() def startServer(): threading.Thread(target=server).start()
  • 39. Start python server via simple python script at below. 3. WING IDE FOR MAYA. import maya.cmds as cmds cmds.evalDeferred('import mayaWingServer; mayaWingServer.startServer()', lowestPriority=True)
  • 40. Configuration of User hot key 3. WING IDE FOR MAYA. Create wingHotkeys.py into ‘C:Users<your_username>AppDataRoamingWing IDE 6scripts‘ import wingapi import socket import os import tempfile def getWingText(): editor = wingapi.gApplication.GetActiveEditor() if editor is None: return doc = editor.GetDocument() start, end = editor.GetSelection() txt = doc.GetCharRange(start, end) return txt def send_to_maya(language): # The port the sever is listening on in mayaWingServer.py : commandPort = 6000 if language != 'mel' and language != 'python': raise ValueError('Expecting either 'mel' or 'python'') txt = getWingText() if language == 'mel': if not txt.endswith(';'): txt += ';' # Cross-platform way to get a temp dir: tempDir = tempfile.gettempdir() tempFile = os.path.join(tempDir, 'wingData.txt') f = open(tempFile, 'w') f.write(txt) f.close() mSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # works in 2013... # Now ping Maya over the command-port try: mSocket.connect(('localhost', commandPort)) # 2016, mac # Send our code to Maya: # It is intercepted via the function processDataInMaya(), created via mayaWingServer.py mSocket.send(language) except Exception, e: print 'Send to Maya fail:', e mSocket.close() def python_to_maya(): send_to_maya('python') def mel_to_maya(): send_to_maya('mel')
  • 41. Configuration of User hot key 3. WING IDE FOR MAYA. Create executeWingCode.py into %MAYA_SCRIPT_PATH% import __main__ import os import tempfile import maya.OpenMaya as om def main(codeType): # Cross-platform way to get a temp dir: tempDir = tempfile.gettempdir() tempFile = os.path.join(tempDir, 'wingData.txt').replace('', '/') if os.access(tempFile , os.F_OK): # Print the lines from the file in Maya: with open(tempFile, 'r') as f: for line in f.readlines(): print line.rstrip() print 'n', if codeType == 'python': # execute the file contents in Maya: with open(tempFile , 'r') as f: exec(f, __main__.__dict__, __main__.__dict__) elif codeType == 'mel': melCmd = 'source %s'%tempFile om.MGlobal.executeCommand(melCmd, True, True) else: print 'No Wing-generated temp file exists: ' + tempFile
  • 42. Configuration of User hot key 3. WING IDE FOR MAYA. Go to Keyboard Personality -> Configure Tab Key… Press to Insert then set up to Key with Command. Command is ‘python_to_maya’
  • 43. Configuration of User hot key 3. WING IDE FOR MAYA. Go to Maya command line to type to code at below because When you receive from Wing-Ide that must open port local host with port of 6000. cmds.commandPort(name="127.0.0.1:6000", close=True, echoOutput=True) cmds.commandPort(name="127.0.0.1:6000", close=True, echoOutput=True) Closing port command at below
  • 44. Configuration of User hot key 3. WING IDE FOR MAYA. Execution test import maya.cmds as cmds cmds.polySphere(r=5)
  • 45. Auto Complete. 3. WING IDE FOR MAYA. Go to ‘Edit > Preferences > Source Analysis’ In the ‘Interface File Path‘, add the ‘pi‘ folder you find inside the pymel you just extracted. TO be precise, it can be found in ’devkit/other/pymel/extras/completion/py’. For added measure, I added both sub-folders inside the pi folder as well.