Python从外部目录导入模块

Python从外部目录导入模块,python,import,Python,Import,您好,我目前有一个real_estate_spider.py(在spider文件夹内)脚本,需要从位于目录外的items.py导入(教程) 这是我的文件夹结构 \---tutorial | items.py | middlewares.py | pipelines.py | settings.py | __init__.py | +---spiders | | real_estate_spider.py | | __init__.py | | | \-

您好,我目前有一个real_estate_spider.py(在spider文件夹内)脚本,需要从位于目录外的items.py导入(教程)

这是我的文件夹结构

\---tutorial
|   items.py
|   middlewares.py
|   pipelines.py
|   settings.py
|   __init__.py
|
+---spiders
|   |   real_estate_spider.py
|   |   __init__.py
|   |
|   \---__pycache__
|           real_estate_spider.cpython-36.pyc
|           __init__.cpython-36.pyc
|           不動産.cpython-36.pyc
|
\---__pycache__
        items.cpython-36.pyc
        middlewares.cpython-36.pyc
        pipelines.cpython-36.pyc
        settings.cpython-36.pyc
        __init__.cpython-36.pyc
这是我的real_estate_spider.py文件,其中包含导入:

import scrapy
from ..items import real_estateItem
from scrapy.utils.markup import remove_tags
from scrapy_splash import SplashRequest
from datetime import datetime as dt
如何导入real_estate项目类,该类位于my real_estate_spider.py中的items.py? 谢谢你

你试过了吗

from .. import items

导入系统 sys.path.append(“../”) 进口 当你在房地产公司工作时,你试过吗

from .. import items

导入系统 sys.path.append(“../”) 进口
在real_estate_spider.py中,尝试将parrent dir附加到python中

Ex:real\u estate\u spider.py


尝试将parrent dir附加到python

Ex:real\u estate\u spider.py



无效语法:仍然与我第一次尝试“尝试在顶级软件包之外进行相对导入”时的错误相同(尝试检查您的系统路径,如果您正在jupyter network online上尝试,您可能会遇到这些问题,您使用import sys(然后是下一行)sys检查系统路径无效语法:仍然与我第一次尝试时的错误相同“尝试在顶级软件包之外进行相对导入”:(尝试检查系统路径,如果您在jupyter网络联机上尝试,您可能会遇到这些问题,使用导入sys(然后是下一行)sys.path检查系统路径在执行脚本时是否收到任何错误消息?是的,我收到了“文件”real_estate_spider.py”,第2行,在from..items import real_estateItem ValueError:尝试在顶级包之外进行相对导入“好的,如何执行脚本?是否直接运行脚本?”(例如,
python real\u estate\u spyder.py
?是的,我直接像那样运行,因为我要将它与docker compose一起使用,这样它会立即执行。执行脚本时您是否收到任何错误消息?是的,我收到“File”real\u estate\u spider.py”,第2行,在from..items import real_estateItem ValueError:尝试在顶级包之外进行相对导入“好的,如何执行脚本?是否直接运行脚本?”(例如,
python real\u estate\u spyder.py
?是的,我直接像那样运行,因为我要将它与docker compose一起使用,这样它会立即执行。但是我正在尝试将此脚本上载到docker,该脚本将在其他机器上运行,如果我尝试在其他机器上运行docker,它是否会产生影响。我应该将路径文件放在哪里?我对python还是新手不知道sys和os模块我不确定这是否会导致docker出现问题。我现在还没有测试它..我仍然不知道该在文件中添加什么,dir_patch,os.pardir您只需按原样执行上面的代码段..您不需要修改任何东西哦,好的。它返回了“无法导入”项"但是我正在尝试将这个脚本上传到docker,它将在其他机器上运行,如果我尝试在其他机器上运行docker,它会影响吗。我应该把路径文件放在哪里?我还是python新手,不知道sys和os模块。我不确定这是否会导致docker出现问题。我现在还没有测试它的工具。我仍然很困惑关于在文件dir_patch,os.pardir中放入的内容,您只需按原样执行上述代码段…..您无需修改任何内容。确定。返回时显示“无法导入'项目'”
import sys
import os

dir_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.abspath(os.path.join(dir_path, os.pardir)))

import scrapy
from items import real_estateItem
from scrapy.utils.markup import remove_tags
from scrapy_splash import SplashRequest
from datetime import datetime as dt