Keyringrc.cfg Проблемы с разрешениями при установке пакетов с помощью скрипта Python с использованием поэзииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Keyringrc.cfg Проблемы с разрешениями при установке пакетов с помощью скрипта Python с использованием поэзии

Сообщение Anonymous »

У меня есть приложение, которым управляет супервизор, работающее от имени пользователя app_user. При запуске скрипт проверяет наличие новых пакетов и пытается установить их, используя приведенный ниже код. Однако выдается ошибка [Errno 13] Разрешение отклонено: '/root/.config/python_keyring/keyringrc.cfg'
Функция для установки пакетов:

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

import os
import sys
import subprocess
import logging

logger = logging.getLogger("general_log")

def install_app_packages():
"""
Run poetry install to update application packages
"""
python_path = sys.executable
current_dir = os.path.dirname(os.path.realpath(__file__))
project_directory = os.path.dirname(current_dir)
poetry_install_command = "poetry install --with prod --no-root"
activate_path = f"{python_path[:-7]}/activate"
export_poetry = 'export PATH="/opt/apps/venv/poetry/bin:$PATH"'
full_command = f"{export_poetry} && source {activate_path} && {poetry_install_command}"

try:

subprocess.run(
full_command,
shell=True,
cwd=project_directory,
executable="/bin/ash"
)

return True

except Exception as e:
logger.error(f"Error while running Poetry Install: {e.__str__()}")
return False
Подробное описание ошибки:

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

[2024-07-29 12:53:01 +0300] [24580] [INFO] Using worker: sync
[2024-07-29 12:53:02 +0300] [24581] [INFO] Booting worker with pid: 24581
Installing dependencies from lock file

Package operations: 1 install, 0 updates, 0 removals

- Installing semver (3.0.2)

PermissionError

[Errno 13] Permission denied: '/root/.config/python_keyring/keyringrc.cfg'

at /usr/lib/python3.11/pathlib.py:1013 in stat
1009│         """
1010│         Return the result of the stat() system call on this path, like
1011│         os.stat() does.
1012│         """
→ 1013│         return os.stat(self, follow_symlinks=follow_symlinks)
1014│
1015│     def owner(self):
1016│         """
1017│         Return the login name of the file owner.

Cannot install semver.

[2024-07-29 12:53:03 +0300] [24580] [ERROR] Worker (pid:24581) exited with code 3
[2024-07-29 12:53:03 +0300] [24580] [ERROR] Shutting down: Master
[2024-07-29 12:53:03 +0300] [24580] [ERROR] Reason: Worker failed to boot.
Что же работает?
1. Установка работает при прямом вызове с помощью Gunicorn
Когда я запускаю приложение напрямую с помощью Gunicorn, работая от имени того же пользователя app_user, оно успешно устанавливается.< /p>

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

(poetry-venv)project_directory$ gunicorn --bind 0.0.0.0:8030 server.wsgi --error-logfile /tmp/gunicorn_error.log --access-logfile /tmp/gunicorn_access.log --preload
2. Изменение Supervisor для запуска от имени пользователя root
в файле конфигурации супервизора для приложения, если я укажу user=root и group=root вместо app_user, установка также прошла успешно.
Так что интересно, что здесь может быть шаткого. Разрешения приложения или какие-то настройки поэзии? Почему скрипт пытается найти keyringrc.cfg под root, но «root» здесь не используется?
У меня ранее был вопрос о разрешениях, но я не нашел ответа . Может ли это быть связано?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Модуль не найден в поэзии с использованием поэзии
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Модуль не найден в поэзии с использованием поэзии
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между «блокировкой поэзии» и «обновлением поэзии --lock»?
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Проблема с разрешениями Laravel Sail Docker: файлы, созданные с неправильным владельцем и разрешениями
    Anonymous » » в форуме Linux
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Установка поэзии-плугин-оболочки висит при установке PtyProcess
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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