以__main__运行文件时的Python导入问题

oxiaedzo  于 2023-09-29  发布在  Python
关注(0)|答案(1)|浏览(94)

这是我的项目的目录结构。

.
├── args_parser.py
├── driver.py
├── event.py
├── logs
├── main.py
├── requirements.txt
├── scrap_results
├── sites
│   │
│   ├── tentimes.py
    └──...
│   └── xpath
│       │
│       └──10times.json
└── utils.py

我正在尝试将类Eventevents.py导入到sites/tentimes.py。所有站点都通过main.py运行。

# sites/tentimes.py
from event import Event

这个文件不能独立运行,并抛出ImportError,但当我通过main.py运行它时,它确实工作。

ImportError: attempted relative import with no known parent package

有没有办法只运行sites/tentimes.py作为**__main__**?
太感谢了祝你今天愉快

wwwo4jvm

wwwo4jvm1#

对于这个问题有各种解决方案。如果项目足够大,需要子文件夹,那么我更喜欢将其转换为python的路线。然后我使用python -m pip install -e .在本地安装这个包。当您这样做并切换到绝对导入时,无论您直接运行www.example.com还是子模块,它们都将工作main.py。
这里有一篇关于这个主题的优秀文章:https://realpython.com/python-import/#create-and-install-a-local-package

相关问题