isaac sim pycharm 연동하기
python interpreter 설정하기
python interpreter로 연결하면 되려나
아나콘다 가상환경을 연결해보자.
아나콘다에서 이미 생성한 env isaaclab을 넣고 해보자.
아나콘다 가상환경에서 파이썬 인터프리터를 추가했지만,
omni.isaac을 찾지 못한다.
사실 보니까 python 인터프리터를 가상환경에서 가져오는게 아니라
isaac sim을 omniverse에서 설치했을 때 경로로 가야한다.
위처럼 local ov pkg에 설치된 isaam-sim에서 kit안에 있는 python.exe를 인터프리터로 설정해야하는 것이었다.
이렇게 시스템 interpreter로 설정하면.
인터프리터 패키지들이 보이는데 이 안에 omni.isaac에 대한 패키지들도 있겠지?
흠.. 설정을 했지만서도 omni 패키지를 못찾는다.
한 가지 생각이 드는 건.
폴더 이름 자체가 omni.isaac.lab 이런식이다보니 그 안에있는 디렉토리를 못찾는게 아닌가 싶기도 하다.
D:\IsaacSim-Projects\IsaacLab\source\extensions\omni.isaac.lab\omni\isaac\lab\envs
경로가 이렇게 되어있는데 '.'이 중간에 들어가있으니 디렉토리 '/'와 구분을 못해서 그런 것 같다.
https://forums.developer.nvidia.com/t/autocompletion-intellisense-for-omni-isaac-modules/249034
마찬가지의 고민을 한 포럼글이 있었다.
vscode의 settings.json을 활용하면 되는 듯 하다.
파이참에서는...?
pycharm 소스 경로 설정
오호라
이렇게 내부의 omni 폴더를 sources로 설정해보자.
그러면 이렇게 DirectMARLEnv 모듈을 상대적 경로를 생각하고도 가져올 수 있다.
하지만 이건 pycharm의 project structure을 설정하였을 때에만 가능한 방법이다.
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/source/extensions/omni.isaac.lab/omni/isaac/lab/envs" isTestSource="false" />
<excludePattern pattern="C:\Users\MediaAILab\AppData\Local\ov\pkg\isaac-sim-4.2.0\standalone_examples" />
</content>
<orderEntry type="jdk" jdkName="Python 3.10 (2)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>
계속 pycharm 위에서 작업을 한다면 이 정보는
.idea 폴더의 IsaacLab.iml (프로젝트명.iml)에 저장되기 때문에 사용할 순 있다.
하지만 인텔리센스로만 사용한 것이므로 실제 batch 파일로 실행하면 오류가 날 것이다.
생각해보니 이렇게 폴더명에 '.'이 들어가있는 것들만 sources로 추가해주면 되겠다.
드디어 오류들이 없어졌다.
인터프리터도 아나콘다 걸로 바꿔주면
torch 에러도 없어질 것이다.
인텔리센스 오류가 싹 사라졌다.