Python
-
ROS를 사용할 때 대부분 vscode에서 코드를 작성하기는 했지만 실행은 대부분 terminal에서 사용을 하다보니 문제가 없었는데 정작 vscode에서 실행을 하다보면 연관된 파일들의 경로를 잘 못찾는 경우가 많았다. 특히 docker 환경을 쓰게되면 더더욱 경로가 꼬이는 경우가 많았고 실행을 하면 파일이 없다고 자꾸 말한다.(젠장) 초반에 뭐가 잘못되어있는지 잘 몰라서 엄청 헤맸던 기억이 난다. vscode가 어떻게 동작하는지 알면 쉽게 해결된다. 예를 들어 위와 같이 폴더 및 파일을 구성했다고 해보자. Desktop / folder_1 / folder_1_1 / test_1_1.py 로 구성을 했고 test_1_1.py 파일을 실행한다고 해보자. 그리고 현재 경로를 확인하기 위해 os.getcwd..
vscode python 실행 경로 설정하기, launch.json 수정하기ROS를 사용할 때 대부분 vscode에서 코드를 작성하기는 했지만 실행은 대부분 terminal에서 사용을 하다보니 문제가 없었는데 정작 vscode에서 실행을 하다보면 연관된 파일들의 경로를 잘 못찾는 경우가 많았다. 특히 docker 환경을 쓰게되면 더더욱 경로가 꼬이는 경우가 많았고 실행을 하면 파일이 없다고 자꾸 말한다.(젠장) 초반에 뭐가 잘못되어있는지 잘 몰라서 엄청 헤맸던 기억이 난다. vscode가 어떻게 동작하는지 알면 쉽게 해결된다. 예를 들어 위와 같이 폴더 및 파일을 구성했다고 해보자. Desktop / folder_1 / folder_1_1 / test_1_1.py 로 구성을 했고 test_1_1.py 파일을 실행한다고 해보자. 그리고 현재 경로를 확인하기 위해 os.getcwd..
2023.07.28 -
터미널에서 현재 파일이 실행이 되는 경로를 확인하는 방법 간혹 vscode와 같이 interpreter를 사용할 경우 파일이 실행되는 경로와 interpreter에서 설정된 경로가 다른 경우가 종종 발생한다. 이때 현재 실행되는 경로를 확인을 하는 것이 필요하다. import os print(os.getcwd()) 여기서 cwd는 current working directory의 약자이다. 예전에는 이런 코드들을 별 생각 없이 사용했는데 요즘은 이런 코드들이 어떤 약자인지 확인을 한다. 그렇게 되면 코드들을 다시 사용해야할 경우 약어만 떠올려도 생각보다 기억하기 쉽다.
python에서 현재 실행 경로 확인하기터미널에서 현재 파일이 실행이 되는 경로를 확인하는 방법 간혹 vscode와 같이 interpreter를 사용할 경우 파일이 실행되는 경로와 interpreter에서 설정된 경로가 다른 경우가 종종 발생한다. 이때 현재 실행되는 경로를 확인을 하는 것이 필요하다. import os print(os.getcwd()) 여기서 cwd는 current working directory의 약자이다. 예전에는 이런 코드들을 별 생각 없이 사용했는데 요즘은 이런 코드들이 어떤 약자인지 확인을 한다. 그렇게 되면 코드들을 다시 사용해야할 경우 약어만 떠올려도 생각보다 기억하기 쉽다.
2023.07.28 -
import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) 문제 상황 상위 폴더에 있는 모듈을 가져와야 하는데(import) 못 가져 오는 경우 해결 방안 import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) sys와 os 를 import 하고 상위 경로를 sys path에 추가한다.
ModuleNotFoundError: No module named 'lib’import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) 문제 상황 상위 폴더에 있는 모듈을 가져와야 하는데(import) 못 가져 오는 경우 해결 방안 import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) sys와 os 를 import 하고 상위 경로를 sys path에 추가한다.
2023.01.02 -
Rosbag to Image rosbag file에서 image 토픽만 따로 뽑아쓸 때 사용하기 좋은 코드다. 실행 코드 bag_to_images.py #!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright 2016 Massachusetts Institute of Technology """Extract images from a rosbag. """ import os import argparse import cv2 import rosbag from sensor_msgs.msg import Image from cv_bridge import CvBridge def main(): """Extract a folder of images from a rosbag. ""..
[ROS] bag 파일에서 이미지만 추출하기 rosbag to imageRosbag to Image rosbag file에서 image 토픽만 따로 뽑아쓸 때 사용하기 좋은 코드다. 실행 코드 bag_to_images.py #!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright 2016 Massachusetts Institute of Technology """Extract images from a rosbag. """ import os import argparse import cv2 import rosbag from sensor_msgs.msg import Image from cv_bridge import CvBridge def main(): """Extract a folder of images from a rosbag. ""..
2023.01.02 -
ROS melodic은 기본적으로 ubuntu 18.04에 python 2버전대에 작동하는데 이를 python3 버전에서 작동하게 하는 방법 python 3버전대에서 launch나 run을 하면 다음과 같은 오류 코드가 발생한다 No module named 'yaml’ / No module named _internal.cli.main 터미널에 다음과 같이 install을 진행한다. sudo apt install python3-pip python3-all-dev python3-rospkg sudo apt install ros-melodic-desktop-full --fix-missing 그리고 사용하는 파이썬 코드 상단에에 환경 표기 #!/usr/bin/env python3.xx 3.8 버전을 사용할 경우..
ROS melodic을 python3 버전에서 작동하게 No module named 'yaml’ / No module named _internal.cli.mainROS melodic은 기본적으로 ubuntu 18.04에 python 2버전대에 작동하는데 이를 python3 버전에서 작동하게 하는 방법 python 3버전대에서 launch나 run을 하면 다음과 같은 오류 코드가 발생한다 No module named 'yaml’ / No module named _internal.cli.main 터미널에 다음과 같이 install을 진행한다. sudo apt install python3-pip python3-all-dev python3-rospkg sudo apt install ros-melodic-desktop-full --fix-missing 그리고 사용하는 파이썬 코드 상단에에 환경 표기 #!/usr/bin/env python3.xx 3.8 버전을 사용할 경우..
2022.07.10