#python #django #django-rest-framework #pip
Вопрос:
Я создал пакет pip для своего приложения DRF. Я протестировал API этого пакета, и он работает нормально. Теперь я решил поместить его на PyPI, чтобы мои друзья тоже могли им пользоваться.
Вот как я загрузил свой пакет в PyPI. (пожалуйста, обратите внимание, что у меня уже есть учетная запись на PyPI)
- Созданный исходный дистрибутив —
python setup.py sdist
- Проверьте манифест —
check-manifest --create
. Здесь я убедился, что все модули моего приложения находятся в исходном дистрибутиве tar. - Дистрибутив сборки, который я создал, —
python setup.py bdist_wheel sdit
.wheel
был уже установлен в моем env. - Затем я установил шпагат и загрузил его в PyPI с помощью команды —
twine upload --skip-existing dist/*
Теперь, чтобы протестировать этот загруженный пакет PyPI, я запустил новый проект Django Restframework и установил его с помощью pip install <package>
. Однако, когда я упомянул об этом в списке INSTALLED_APPS
, он вернул эту ошибку — ModuleNotFoundError: No module named
.
Я также проверил виртуальную среду на наличие пакета, lib/python3.9/site-packages/
и да, я нашел папку для своего пакета.
Где я мог, возможно, пойти не так. Это очень странная проблема.
Комментарии:
1. вы настроили его как приложение Django ? Вам понадобится
apps.py
модуль внутри вашего пакета и включить некоторые метаданные (например, имя), чтобы Django мог его найти.2. У меня есть
apps.py
в пакете, но не могли бы вы помочь понять, где и как я должен писать эти метаданные3. Есть ли у вас подклассы
AppConfig
внутри вашегоapps.py
?4. Это хорошо, как вы пишете пунктирный путь к модулю в своем
INSTALLED_APPS
? И есть ли пакет, который вы ищете, в apip list
?5. Похоже, вам не хватает
__init__.py
вdjango_restframework_2fa/
каталоге в вашем пакете