Python 如何修复爬虫脚本中的导入?

Python 如何修复爬虫脚本中的导入?,python,Python,我做错了什么?我正在尝试使用子文件夹爬虫中的相对导入从公共导入实用程序 需要注意的是,如果我将脚本移动到根文件夹中,它就可以工作了——但我需要从脚本调用common.utils,我如何解决这个问题 ├── crawler │   ├── common │   │   ├── __init__.py │   │   └── utils.py │   ├── collector.py │   ├── __init__.py │   ├── scripts │   │   ├── __init__.

我做错了什么?我正在尝试使用子文件夹
爬虫
中的相对导入从
公共
导入实用程序

需要注意的是,如果我将脚本移动到根文件夹中,它就可以工作了——但我需要从脚本调用common.utils,我如何解决这个问题

├── crawler
│   ├── common
│   │   ├── __init__.py
│   │   └── utils.py 
│   ├── collector.py
│   ├── __init__.py
│   ├── scripts
│   │   ├── __init__.py
│   │   ├── test_imports.py # ImportError: attempted relative import with no known parent package
│   │   └── update_importer.py



test_imports.py

from .common.utils import fimct1 # error or from crawler.common.utils import fimct1 the same
print(fimct1)

你做错了
test_scripts.py
位于
scripts
下,因此您的导入将需要该树:
crawler->scripts->common->utils


改用
crawler.common.utils
。或者,如果仍要使用相对导入,请尝试
.common.utils
。但是,老实说,相对进口不是个好主意。

你做错了
test_scripts.py
位于
scripts
下,因此您的导入将需要该树:
crawler->scripts->common->utils


改用
crawler.common.utils
。或者,如果仍要使用相对导入,请尝试
.common.utils
。但是,老实说,相对导入不是一个好主意。

看起来您在项目根目录中缺少了一个
\uuuu init\uuuuuuuuuy.py
。它在收集器下面或您的意思是什么?在
爬虫程序中
…您是说在爬虫程序项目之外?看起来您在项目根目录中缺少了一个
\uuuuu init\uuuuuuuuuy.py
。它在收集器下面或您的意思是什么地方?在中
crawler
…你是说在crawler项目之外?