#python #python-3.x
Вопрос:
Я создаю консольное приложение python, которое включает импорт пользовательского класса, который я использую. Каждый раз, когда я запускаю свое приложение, я получаю сообщение об ошибке ModuleNotFoundError: «Нет модуля с именем «Службы данных».
Вы можете помочь?
Ниже приведена структура моих папок:
ETL
Baseball
Baseball_DataImport.py
DataServices
DataService.py
ConfigServices.py
PageDataMode.py
SportType.py
Вот раздел импорта из Baseball_DataImport.py файл. Это файл, когда я запускаю, я получаю сообщение об ошибке:
from bs4 import BeautifulSoup
import scrapy
import requests
import BaseballEntity
import mechanize
import re
from time import sleep
import logging
import time
import datetime
from functools import wraps
import json
import DataServices.DataService - Error occurs here
Вот мой DataService.py файл:
import pymongo
import json
import ConfigServices
import PageDataModel
#from SportType import SportType
class DataServices(object):
AppConfig: object
def __init__(self):
AppConfig = ConfigServices.ConfigService()
#print(AppConfig)
#def GetPagingDataBySport(self,Sport:SportType):
def GetPagingDataBySport(self):
#if Sport == SportType.BASEBALL:
pagingData = []
pagingData.append(PageDataModel.PageDataModel("", 2002, 2))
pagingData.append(PageDataModel.PageDataModel("", 2003, 2))
return pagingData
Комментарии:
1. Имя вашего файла: DataService.py и название класса такое
DataServices
. Таким образом, импорт должен бытьimport DataService.DataServices
. Файл идет первым, а класс внутри этого файла-вторым.2. Аналогичная ошибка: Нет модуля с именем «DataService»
Ответ №1:
Может показаться, что ваша структура является:
Baseball
Baseball_DataImport.py
Dataservices
Dataservice.py
Может быть, вам нужно сделать from Dataservices.Dataservice import DataServices
Редактировать:
Я создал структуру папок, и метод, который я вам показал, работает:
Dataservice.py содержит только:
class DataServices():
pass
Комментарии:
1. Аналогичная ошибка: Нет модуля с именем » Службы данных
2. Можете ли вы отредактировать часть структуры папок, чтобы увидеть, отличается ли она от того, о чем я догадывался?
3. Этот ответ, похоже, должен сработать. Вы можете попробовать включить пустой
__init__.py
файл вDataServices
каталог.4. @фиолетовый, это python 3, он не нужен
__init__
, верно?5. Та же проблема. @purple Я также удалил init.py файл тоже. Теперь я использую виртуальную среду. Будет ли это иметь какое-либо влияние?
Ответ №2:
Вы пробовали копировать Dataservice.py в папку проекта с main.py?
Комментарии:
1. У меня нет main.py и да, я пробовал это. Не сработало