Ошибка при установке Python Plugin: ModuleNotFoundError: Нет модуля с именем <модуль>

Я пытаюсь создать Python-плагин для Saleor, используя Poetry, и у меня возникают проблемы с установкой плагина на Saleor. Я запускаю poetry add ../social_auth для установки плагина на Saleor, и это удается, но когда я пытаюсь запустить Saleor, я получаю эту ошибку:

No module named 'social_auth'
File
"/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/apps/config.py",
line 224, in create
    import_module(entry)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/apps/registry.py",
line 91, in populate
    app_config = AppConfig.create(entry)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/__init__.py",
line 24, in setup
    apps.populate(settings.INSTALLED_APPS)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
line 64, in wrapper
    fn(*args, **kwargs)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/core/management/__init__.py",
line 375, in execute
    autoreload.check_errors(django.setup)()   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
line 87, in raise_last_exception
    raise _exception[1]   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/core/management/commands/runserver.py",
line 110, in inner_run
    autoreload.raise_last_exception()   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
line 64, in wrapper
    fn(*args, **kwargs)   File "/usr/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)   File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()   File "/usr/lib/python3.9/threading.py", line 930, in _bootstrap
    self._bootstrap_inner()

Но я проверил, модуль находится в settings.INSTALLED_APPS, settings.PLUGINS и перечислен в pip list...

Вот структура плагина:

├── __init__.py
├── poetry.lock
├── pyproject.toml
└── social_auth
    ├── __init__.py
    └── plugin.py

1 directory, 5 files

файл pyproject.toml:

[tool.poetry]
name = "social-auth"
version = "0.1.0"
description = "Social auth for saleor"
authors = ["Wellington Zenon <wellington.zenon@gmail.com>"]
packages = [
    { include = "plugin.py", from="social_auth"}
]

[tool.poetry.dependencies]
python = "^3.9"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.plugins."saleor.plugins"]
"social_auth" = "social_auth.plugin:SocialLoginPlugin"

файл plugin.py:

Как я могу решить эту проблему?

Проблема заключалась в том, что pyhton не мог найти источник плагина, так как его не было в PYTHONPATH, и мне пришлось добавить его в переменную окружения PYTHONPATH, используя эту команду:

PYTHONPATH=path/to/plugin
Вернуться на верх