Как решить конфликт имен приложений Django с внешней библиотекой

Я совершил большую ошибку, создав приложение внутри моего Django проекта под названием requests, это произошло давно, и система уже работает годами. теперь мне нужно использовать библиотеку Django requests, и она импортируется как import requests, как указано в документации... и, конечно, всякий раз, когда я делаю этот импорт, он импортирует мое приложение вместо библиотеки... как это решить? enter image description here

Вы можете попробовать импортировать файл requests/__init__.py напрямую, как показано в документации: https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly.

Пример:

import sys
import importlib.util

module_name = 'requests'

# declare the full path to requests/__init__.py file below
module_path = '/path/to/virtualenv/site-packages/requests/__init__.py'

spec = importlib.util.spec_from_file_location(module_name, module_path)
requests = importlib.util.module_from_spec(spec)
sys.modules[module_name] = requests
spec.loader.exec_module(requests)

print(requests.post) # should not raise error

Вернуться на верх