개발 · 컴퓨터공학/엔비디아 Issac-Sim

isaac sim pycharm 연동하기

2024. 11. 10. 11:07
728x90
반응형

 

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

 

Autocompletion/IntelliSense for omni.isaac.* Modules

Hello, I am currently working myself through the Isaac Sim Python Tutorials. Everything works fine, however, I do not have any autocompletion for the omni.isaac.* modules. For example: from omni.isaac.wheeled_robots.robots import WheeledRobot here VSCode t

forums.developer.nvidia.com

마찬가지의 고민을 한 포럼글이 있었다.

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 에러도 없어질 것이다.

 

인텔리센스 오류가 싹 사라졌다.

728x90
반응형