가상환경 프로그램 실행
1. Python 가상환경 설정
가상환경은 프로젝트별로 독립적인 Python 환경을 관리하기 위해 사용됩니다.
가상환경 설치:
sudo apt-get install -y python3-venv
가상환경 생성 및 활성화:
python3 -m venv myenv
source myenv/bin/activate
가상환경 비활성화:
deactivate
2. Python 가상환경 활성화
가상환경을 먼저 활성화한 후 프로그램을 실행해야 합니다.
명령어:
source /path/to/your/venv/bin/activate
python /path/to/your/program.py
deactivate
예를 들어, 가상환경이 /home/username/myenv에 있고 프로그램이 /home/username/myproject/start.py라면:
source /home/username/myenv/bin/activate
python /home/username/myproject/start.py
deactivate
3. Shell 스크립트를 사용해 실행
자동화하거나, 편리하게 실행하려면 Shell 스크립트를 작성합니다.
Shell 스크립트 작성:
1) 스크립트 파일 생성:
nano /home/username/run_program.sh
2) 내용 작성:
#!/bin/bash
# 가상환경 활성화
source /home/username/myenv/bin/activate
# 프로그램 실행
python /home/username/myproject/start.py
# 가상환경 비활성화
deactivate
3) 실행 권한 부여:
chmod +x /home/username/run_program.sh
4) 실행:
./home/username/run_program.sh
4. 부팅 시 자동 실행
Jetson Nano 부팅 후 프로그램을 자동으로 실행하려면 crontab 또는 **systemd**를 사용합니다.
-
crontab 방법:
1) crontab 편집:
crontab -e2) 부팅 시 Shell 스크립트를 실행하는 항목 추가:
@reboot /home/username/run_program.sh >> /home/username/program_log.txt 2>&1 -
systemd 방법:
1) 서비스 파일 생성:
sudo nano /etc/systemd/system/myprogram.service2) 서비스 파일 내용:
[Unit] Description=Run My Python Program After=network.target [Service] ExecStart=/home/username/run_program.sh WorkingDirectory=/home/username User=username Restart=always [Install] WantedBy=multi-user.target3) 서비스 활성화 및 시작:
sudo systemctl enable myprogram.service sudo systemctl start myprogram.service4) 상태 확인:
sudo systemctl status myprogram.service
5. 디버깅
실행 중 문제가 발생하면 로그를 확인하세요.
Shell 스크립트 실행 로그: >> /home/username/program_log.txt 2>&1으로 로그를 확인.
cat /home/username/program_log.txt
systemd 서비스 로그:
journalctl -u myprogram.service
이 방식으로 가상환경에서 작성된 Python 프로그램을 Jetson Nano에서 실행하고, 필요하면 자동으로 실행하도록 설정할 수 있습니다.