#python #python-3.x #shell
#python #python-3.x #оболочка
Вопрос:
У меня следующий сценарий:
- Пакет Python3 (meross_iot), установленный через pip и расположенный в ~/.local/lib/python3.7/site-packages
- Скрипт на Python (meross_electricity.py ), который импортируется из этого пакета:
from meross_iot.controller.mixins.electricity import ElectricityMixin
- Сценарий оболочки (launcher.sh ) это должно быть оболочкой, чтобы скрипт .py запускался при запуске:
#!/bin/sh # launcher.sh # navigate to home directory, then to this directory, then execute python script, then back home cd / cd home/pi/Documents sudo python meross_electricity.py cd /
Если я просто выполняю файл .py, все работает как ожидалось, импорт выполнен и т.д. Если я пытаюсь запустить скрипт .sh, я получаю следующую ошибку:
pi@home:~/Documents $ ./launcher.sh
Traceback (most recent call last):
File "meross_electricity.py", line 4, in <module>
from meross_iot.controller.mixins.electricity import ElectricityMixin
ModuleNotFoundError: No module named 'meross_iot'
Может кто-нибудь, пожалуйста, помочь мне решить эту проблему?
Спасибо!
Комментарии:
1. Вы установили пакет для локального пользователя, в его домашнем хранилище. С помощью
sudo
вы переключаетесь на пользователяroot
с другого дома.2. / ошибка новичка facepalm. Спасибо, Клаус! Решена!
Ответ №1:
Установленный пакет с sudo работал.
Ответ основан на комментарии @KlausD