Как лучше импортировать модуль из git?
Ссылка скопирована
Сейчас ситуация такая: мне нужно в модуле подгружать пулл реквест, который исправляет нужные мне вещи, но он открыт
Мой requirements.txt:
civitai @ git+https://github.com/civitai/civitai-python.git@refs/pull/13/head
По вводным: оригинальный пул реквест:https://github.com/civitai/civitai-python/pull/13
Ошибка:
backend | Traceback (most recent call last): backend | File "/app/backend/clients/imgai.py", line 1, in <module> backend | import civitai backend | File "/usr/local/lib/python3.11/site-packages/civitai/__init__.py", line 6, in <module> backend | from .services.async_Jobs_service import ( backend | File "/usr/local/lib/python3.11/site-packages/civitai/services/async_Jobs_service.py", line 8, in <module> backend | from ..models import * backend | File "/usr/local/lib/python3.11/site-packages/civitai/models/__init__.py", line 1, in <module> backend | from .AIR import * backend | ModuleNotFoundError: No module named 'civitai.models.AIR'
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
1 ответ

Импортировать Python-модуль из pull request можно через pip requirement на git-ссылку, но важно указать правильную ссылку и понимать, что это нестабильная зависимость. Если PR изменится, переедет или будет удалён, сборка может сломаться.
Формат в requirements.txt обычно такой:
civitai @ git+https://github.com/civitai/civitai-python.git@refs/pull/13/head
Если пакет не ставится, проверьте, что в репозитории есть нормальный pyproject.toml или setup.py, и что имя пакета совпадает. Иногда надо ставить не имя модуля, а имя distribution-пакета, указанное в pyproject.
Более надёжный вариант - зависеть не от PR ref, а от конкретного commit hash:
civitai @ git+https://github.com/civitai/civitai-python.git@abcdef1234567890
Так сборка будет повторяемой. PR-ветка может обновляться, а commit hash останется тем же.
Если нужно временно использовать свою правку, лучше сделать fork:
civitai @ git+https://github.com/yourname/civitai-python.git@fix-needed-branch
После установки проверьте, откуда реально взялся пакет:
pip show civitai python -c "import civitai; print(civitai.__file__)"
Если dependency resolver тянет старую версию из PyPI, очистите окружение и ставьте в чистый venv:
python -m venv .venv .venvScriptsactivate pip install -U pip pip install -r requirements.txt
Для production я бы не оставлял зависимость на refs/pull. Это нормально для проверки гипотезы, но для стабильной сборки используйте fork/branch под вашим контролем или конкретный commit. Когда PR смержат, вернитесь на обычную release-версию пакета.