Dr_Elvis
@Dr_Elvis
В гугле забанен

Почему ошибка при запуске скрипта?

Имеется приложение - пусть будет простой эхо бот для телеги.
закинул на сервер в виртуальное окружение. Запускаю из консоли - всё прекрасно работает. Настраиваю systemd - не запускается.
Копался в логах и нашел, что не запускается потому что не находит файл сертификата для вебхук. Все файлы лежат рядом.
Провел эксперименты, в итоге:
1) если перейти в папку со скриптом и запустить сначала виртуальное окружение, а потом "python app.py" - работает
2) если перейти в папку со скриптом и запустить командой "bin/python app.py" - работает
3) если перейти в папку выше и запустить командой "bot/bin/python bot/app.py" - не запускается, не находит прописанный в скрипте файл сертификата.

Вот ровно тоже самое происходит и через systemd. команда запуска:
ExecStart=/home/me/venvs/bot/bin/python /home/me/venvs/bot/app.py

я понял что запускается из другой папки скрипт - поэтому и файл найти не может.
пробовал указывать в скрипте файл серта как "crt.pem" и как "os.path.abspath('cert.prm')" - всё равно не хочет запускаться.

Собственно вопрос - как работать с файлами, если запуск происходит непойми откуда?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
tsarevfs
@tsarevfs
C++ developer
Попробуйте задать working directory https://unix.stackexchange.com/a/200657
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы