반응형
문제의 상황
오랜만에 햄스터S 스크립트를 실행시켜보니 아래와 같이 'roboid' 패키지가 없다는 에러 메시지가 발생을 했습니다.
$ ./follow_wall.py
Traceback (most recent call last):
File "/home/parksejin/project/hamsters/./follow_wall.py", line 3, in <module>
from roboid import *
ModuleNotFoundError: No module named 'roboid'
1. roboid 모듈 설치
pip install -U roboid 명령으로 패키지를 설치를 시도합니다.
예전에 낮은 버전의 파이썬3를 사용할 경우 문제 없이 동작합니다.
$ pip install -U roboid
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.12/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
제 경우는 파이썬 3.12를 사용하고 있어서 설치 에러가 발생했습니다.
이 때는 venv를 이용하면 됩니다.
2. venv를 이용하여 roboid 모듈 설치
$ python3 -m venv hamster 명령을 이용해서 가상 환경을 만듭니다.
$ python3 -m venv hamster
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt install python3.12-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: /home/myaccount/project/hamsters/hamster/bin/python3
venv를 사용하기 위해서는 python3.12-venv 패키지를 설치해야 합니다.
$ sudo apt-get install python3.12-venv 명령으로 패키지를 설치해줍니다.
$ source hamster/bin/activate 명령으로 가상 환경을 activate 해줍니다.
가상 환경에서 pip 명령으로 roboid 모듈 설치
$ pip3 install roboid
Collecting roboid
Downloading roboid-1.6.4-py3-none-any.whl.metadata (608 bytes)
Collecting pyserial (from roboid)
Downloading pyserial-3.5-py2.py3-none-any.whl.metadata (1.6 kB)
Downloading roboid-1.6.4-py3-none-any.whl (92 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.1/92.1 kB 3.3 MB/s eta 0:00:00
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 4.0 MB/s eta 0:00:00
Installing collected packages: pyserial, roboid
Successfully installed pyserial-3.5 roboid-1.6.4
3. roboid 모듈 설치 완료 확인
다시 스크립트를 실행해보면 roboid 모듈에 제대로 설치되어 있는 것을 확인할 수 있습니다.
$ ./follow_wall.py
HamsterS[0] No available USB to BLE bridge
이상입니다.
반응형