Невозможно заставить Ras Pi 4b (BookWorm) запустить .venv при запуске (или какую-либо другую проблему с Python venv) [заPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно заставить Ras Pi 4b (BookWorm) запустить .venv при запуске (или какую-либо другую проблему с Python venv) [за

Сообщение Anonymous »

У меня есть собственный проект Pi, над которым я работаю, и с точки зрения разработки все работает нормально, но я не могу запустить свое приложение при запуске.
Я начал с создания сценария оболочки для запуска двух команд

Код: Выделить всё

source /path/to/.venv/bin/activate
python /path/to/project/run_main.py
Несколько вещей, на которые следует обратить внимание
  • Общий Raspbian из установщика pi (вероятно, 64-битная версия)
  • Wayland управляет моим дисплеем?
  • Это приложение использует cv2, что кажется немного проблематичным.
  • Там, где вы видите строку активируйте .venv, я также пробовал напрямую вызывать интерпретатор либо как /path/to/.venv/bin/python, либо как 'python3'
Это похоже, что когда я пытаюсь использовать сценарий запуска, либо .venv не запускается должным образом, либо Python все еще пытается извлечь пакеты из системы.
Если я запущу этот сценарий напрямую, мой приложение запускается, как и предполагалось,
но если я попробую из:
crontab с логикой @reboot, просто безрезультатно
  • вероятно, просто пытаюсь запустить до того, как что-то еще будет готово
  • но я пробовал со спящим 60, на всякий случай, все равно безрезультатно
  • li>
rc.local (нет видимого результата)
  • если есть логи, то я не знаю, где они
создание systemd/service
  • Я не был знаком с этим методом, поэтому использовал gpt, чтобы определить:

Код: Выделить всё

[Unit]
Description=Start Python App on Boot in Foreground
After=graphical-session.target

[Service]
Type=simple
ExecStart=/bin/bash /home/pi/start_app.sh
WorkingDirectory=/home/pi/path/to/project
Environment=DISPLAY=:0
Environment=XDG_RUNTIME_DIR=/run/user/1000
User=pi
Group=pi
Restart=always
RestartSec=5

[Install]
WantedBy=graphical-session.target
  • журналы ошибок показывают, что мои модули .venv не установлены (похоже, что он пытается извлечь данные из глобального Python, а не из загруженного .venv,

    li>
    например, хотя я использую установку pip из .venv, пакеты по-прежнему устанавливаются только в /usr/bin (я думаю, это путь)
    < /ul>
    с использованием .config/autostart/file.desktop

    Код: Выделить всё

    [Desktop Entry]
    Type=Application
    Exec=/path/to/start-script.sh
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=Your Script
    Comment=Description of your script
    
  • Я тоже не вижу никаких признаков того, что это работает
  • Я считаю, что журналы предполагают то же самое, что и служба , модули .venv не найдены
  • Мне удалось добиться некоторого прогресса, выполнив --force-reinstall, но когда дело дошло до libcamera, установка picamera2 не имела никакого значения (возможно, мне придется пересобрать из исходного кода и не решаюсь, так как это может помешать моему проекту)
Для каждого из них я пробовал либо запустить сценарий bash, либо просто запустить проект напрямую.
Я даже где-то видел предложение о том, что я могу изменить интерпретатор сценария bash непосредственно на python после shebang и просто запускать приложение Python, как если бы я был в интерпретаторе.
Мне кажется, что я пробовал любые варианты из вышеперечисленного, но все начинает сливаться воедино.
Я открыт для любых предложений или если вы хотите получить прямую обратную связь для любого из них я готов предоставить.
На данный момент я предполагаю, что потенциально у меня есть набор env var, который мешает моим попыткам вызвать Python из этих других контекстов, как насколько я знаю, «python» никоим образом не имеет псевдонимов.
Обновление:
Вот какое исправление:
Как было предложено (но для модов, почему-то не связанных с программным обеспечением), это была проблема с конфигурацией Python. pip libs установлены глобально, но на них можно ссылаться через символическую ссылку из venv. Параметр в pyconfig.cfg (include-system-site-packages) не позволил мне ссылаться на установленные пакеты Python. изменение этого параметра позволило моему приложению получать данные из глобального Python и venv в одной сборке, из моей конкретной отправной точки (bash при запуске). Если бы только у OpenCV был глобальный пакет, который я мог бы установить, это никогда не было бы проблемой, но насколько я могу судить, он существует только как пакет для venv.
Итак, я пришел сюда с проблемой, которую трудно выделить из-за большого количества работающих частей, сделал все возможное, чтобы объяснить, где я был и что я сделал, и надеялся, что это «сообщество» сможет дать мне несколько идей для решения устранить неполадки. Это не сложная проблема, буквально сценарий оболочки из различных вариантов запуска запуска сценария Python, кроме того, может быть полезно узнать, что может быть причиной конкретной проблемы, с которой я столкнулся. Наверное, я мог бы опустить то, что казалось мне важным, и если бы я точно знал, так это или нет, меня бы здесь, наверное, не было.
Я думаю о шумном офисе. env, где я накопил свой опыт на протяжении многих лет. В те дни, когда я мог наклониться мимо своего стола и попросить другого разработчика предоставить информацию из внешнего источника, я, наверное, предполагал, что (в некотором смысле) именно этим и должен был быть этот сайт. Но давайте будем честными: почти смешно приезжать сюда в надежде на сочувствие или вежливый обмен знаниями. Это место известно своей токсичностью. Когда пользователи приходят сюда с действительно очень простым вопросом, потому что они только начинают, их чуть ли не высмеивают за дверью. Как они смеют не знать, как ориентироваться на этом сайте. Зачем вам изучать технологии или программирование, если вы не знаете, как переменная передается из одной функции в другую, о чем, черт возьми, вы думали? Разве вы не знаете, какой уровень высокомерия необходим, чтобы быть элитой?!
Когда пользователь приходит сюда со сложным вопросом, в котором есть нюансы, который может потребоваться критическое размышление, прежде чем кто-то сможет повысить свою репутацию, он либо останется нетронутым, либо будет забыт забвением по какой-то абсурдной причине (см. предложения).
Я должен предположить, что трафик здесь увеличился вмятина последних лет. Я знаю, что токсичность стала широко известной проблемой, о которой сообщалось. И я, честно говоря, не знаю, как это исправить. Это та же самая проблема, которую мы видим сегодня, обычно отравляя жизнь людей: люди – отстой. В том числе и мне, вероятно, следует лучше контролировать ситуацию, чем тратить время на разглагольствования здесь по поводу поста, который наверняка просто «отбросят». Но я могу признать это и поработать над своими действиями в будущем. Кажется, что проблемы здесь могут не измениться, поскольку своего рода эго, возникающее в результате становления пользователем, которому приходится принимать эти решения, несомненно, раздражает очень многих людей, обладающих этими привилегиями.
А, кроме того, Я не знаю, было ли это частью исправления или нет, но я изменил владельца соответствующих файлов, сценариев, файлов автозапуска и проекта.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ther-pytho
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Не могу заставить Ras Pi 4b (BookWorm) запустить .venv при запуске (или какая-то другая проблема с venv на Python)
    Anonymous » » в форуме Python
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • Извлечение направления потока/стрелки потока/вектора скорости из HEC-RAS
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Извлечение данных из HEC-RAS
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • В Raspbian Bookworm, как запустить безгласный браузер со звуком
    Anonymous » » в форуме Linux
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Windows Python (<=3.10.2) не может запустить `python -m venv .venv`
    Anonymous » » в форуме Python
    0 Ответы
    93 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»