Python 从django.db导入utils ImportError:无法导入名称utils错误
我已经为scrapy编写了一个自定义命令:Python 从django.db导入utils ImportError:无法导入名称utils错误,python,scrapy,Python,Scrapy,我已经为scrapy编写了一个自定义命令: from pyes import * from eScraperInterface import settings from django.core.management import setup_environ setup_environ(settings) from eScraperInterfaceApp.models import scrapedData from eScraperInterfaceApp.eScraper_utils imp
from pyes import *
from eScraperInterface import settings
from django.core.management import setup_environ
setup_environ(settings)
from eScraperInterfaceApp.models import scrapedData
from eScraperInterfaceApp.eScraper_utils import eScraperUtils
#------------------------------------------------------------------------------
class indexData():
def __init__(self):
self.utilsOBJ = eScraperUtils()
conn = ES('127.0.0.1:9200')
conn.create_index("scraped_data")
def run(self):
for i in scrapedData.objects.filter():
data = {'productTitle':i.productTitle,'productSite':i.productSite,
'productURL':i.productURL,'productDesc':i.productDesc,
'productCategory':i.productCategory,'productSubCategory':i.productSubCategory,
'productMRP':i.productMRP,'productPrice':i.productPrice,'hasVariants':i.hasVariants,
'availability':i.availability,'currency':i.currency,'image_paths':i.image_paths}
a = self.utilsOBJ.create_Index(data)
print a
尝试使用scrapy shell命令时,出现以下错误:
Traceback (most recent call last):
File "/usr/local/bin/scrapy", line 4, in <module>
execute()
File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 111, in execute
cmds = _get_commands_dict(settings, inproject)
File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 37, in _get_commands_dict
cmds.update(_get_commands_from_module(cmds_module, inproject))
File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 27, in _get_commands_from_module
for cmd in _iter_command_classes(module):
File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 18, in _iter_command_classes
for module in walk_modules(module_name):
File "/usr/local/lib/python2.7/dist-packages/scrapy/utils/misc.py", line 65, in walk_modules
submod = __import__(fullpath, {}, {}, [''])
File "/home/vaibhav/scrapyprog/comparison/eScraperInterface/eScraper/commands/indexData.py", line 10, in <module>
from eScraperInterfaceApp.models import scrapedData
File "/home/vaibhav/scrapyprog/comparison/eScraperInterface/eScraperInterfaceApp/models.py", line 3, in <module>
from django.db import models
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 92, in __getitem__
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 24, in load_backend
return import_module('.base', backend_name)
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 30, in <module>
from django.db import utils
ImportError: cannot import name utils
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/scrapy”,第4行,在
执行()
文件“/usr/local/lib/python2.7/dist packages/scrapy/cmdline.py”,执行中的第111行
cmds=\u获取\u命令\u命令(设置,项目中)
文件“/usr/local/lib/python2.7/dist packages/scrapy/cmdline.py”,第37行,在命令目录中
更新(_从_模块获取_命令(cmds_模块,inproject))
文件“/usr/local/lib/python2.7/dist packages/scrapy/cmdline.py”,第27行,在\u模块的\u get\u命令\u中
对于命令类(模块)中的cmd:
文件“/usr/local/lib/python2.7/dist packages/scrapy/cmdline.py”,第18行,在命令类中
对于walk_模块中的模块(模块名称):
文件“/usr/local/lib/python2.7/dist packages/scrapy/utils/misc.py”,第65行,在walk_模块中
submod=uuu导入(完整路径,{},{},['''])
文件“/home/vaibhav/scrapyprog/comparison/eScraperInterface/eScraper/commands/indexData.py”,第10行,在
从eScraperInterfaceApp.models导入数据
文件“/home/vaibhav/scrapyprog/comparison/eScraperInterface/eScraperInterfaceApp/models.py”,第3行,在
从django.db导入模型
文件“/usr/local/lib/python2.7/dist packages/django/db/_init__.py”,第40行,在
后端=加载\后端(connection.settings \ dict['ENGINE'])
文件“/usr/local/lib/python2.7/dist-packages/django/db/_-init__.py”,第34行,在__
返回getattr(连接[默认\u DB\u别名],项)
文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第92行,在__
后端=加载\u后端(db['ENGINE'])
文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第24行,在load_后端
返回导入_模块('.base',后端_名称)
文件“/usr/local/lib/python2.7/dist packages/django/utils/importlib.py”,第35行,在导入模块中
__导入(名称)
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/mysql/base.py”,第30行,在
从django.db导入utils
ImportError:无法导入名称utils
您是否在系统上安装了python mysqldb?
sudo apt get安装python mysqldb
或pip安装mysqldb