Python3绝对导入名称冲突
我正在做一个项目,结构如下:Python3绝对导入名称冲突,python,python-3.x,import,collision,absolute,Python,Python 3.x,Import,Collision,Absolute,我正在做一个项目,结构如下: myproject │ ├──__init__.py ├──__main__.py │ ├── requests │ ├── __init__.py │ ├── test.py from myproject.requests import test 我pip将我的项目作为一个软件包安装到我使用setuptools(在这里描述)工作的venv中。[请参阅标题为“厌倦了sys.path hacks?”的答案] 在我项目的每个模块中,我都使用绝对导入,如
myproject
│
├──__init__.py
├──__main__.py
│
├── requests
│ ├── __init__.py
│ ├── test.py
from myproject.requests import test
我pip将我的项目作为一个软件包安装到我使用setuptools(在这里描述)工作的venv中。[请参阅标题为“厌倦了sys.path hacks?”的答案]
在我项目的每个模块中,我都使用绝对导入,如下所示:
myproject
│
├──__init__.py
├──__main__.py
│
├── requests
│ ├── __init__.py
│ ├── test.py
from myproject.requests import test
问题是我还使用了requests库()。它也安装在venv中。
从test.py导入例如requesets.exceptions.ConnectionError
时,一切都按预期进行
但是当我尝试从\uuu main\uuuuuuuuuy.py
执行相同操作时,它会导入myproject.requests
子模块(我已经成功地这样导入了它:从myproject导入requests
如何修复它,而不重命名请求子模块?只需将
请求的名称更改为其他名称。必须有另一种解决方案,不能总是回避名称冲突。只需将请求的名称更改为其他名称即可。必须有另一种解决方案,不能总是回避名称冲突。