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项目之外?