Python 3 абсолютных конфликтов имен при импорте - PullRequest
1 голос
/ 03 марта 2020

Я работаю над проектом, структурированным так:

myproject
│ 
├──__init__.py
├──__main__.py
│ 
├── requests
│   ├── __init__.py
│   ├── test.py

Я pip-установил свой проект как пакет в Venv, в котором я работаю с setuptools (описано здесь. [ Sibling package import См. ответ под названием «Устали от взлома sys.path?»)

В каждом модуле моего проекта я использую абсолютный импорт следующим образом:

from myproject.requests import test

Проблема в том, что я также используйте библиотеку запросов (https://2.python-requests.org/en/master/). Он также установлен в venv. При импорте, например, requesets.exceptions.ConnectionError из test.py, все работает так, как задумано. Но когда я пытаюсь сделать то же самое из __main__.py, вместо этого он импортирует субмодуль myproject.requests (который я уже успешно импортирую так: from myproject import requests Как исправить это, не переименовывая подмодуль запросов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...