python-mysql-connector 1.16、django 1.6 和 python 3.2.3 出现导入错误

2023-12-22

我正在 Python 3.2.3 的 virtualenv 中的 Django 1.6 上运行 django-rest-framework,并通过新安装的 python-mysql-connector 1.1.6来源 http://dev.mysql.com/downloads/connector/python/在 Ubuntu 主机上。

当我运行syncdb并启动它时,一切工作正常,但是当我到达任何不是根的url时,我从 python-mysql-connector 收到此导入错误:

Exception Value:    

cannot import name zip_longest

Exception Location:     /usr/local/dev/python3.2.3/lib/python3.2/site-packages/mysql/connector/django/compiler.py in <module>, line 6

这是有问题的行:

from django.utils.six.moves import zip_longest

如果我激活 virtualenv python 二进制文件,我可以成功运行该导入语句。那么什么给出呢?

>>>>from django.utils.six.moves import zip_longest
>>>>

这是我的 virtualenv 的 pip list 输出,我计划在其中运行 Django 来验证我是否安装了所有正确的位:

(python3.2.3)thegooch@yrmomsapt:~/$ pip list
Django (1.6.2)
djangorestframework (2.3.13)
Markdown (2.4)
mysql-connector-python (1.1.6)
pip (1.5.4)
setuptools (2.2)
wsgiref (0.1.2)

研究代码后,引用该导入时似乎存在某种错误。我查看了 /lib/python3.2/site-packages/django/utils/six.py 文件,找到了对 moves.zip_longest 模块的引用。

首先是这个参考:

moves = sys.modules[__name__ + ".moves"] = _MovedItems(__name__ + ".moves")

这意味着它正在调用 _MovedItems 类,而这里是对我的模块的引用,该模块被破坏了。

class _MovedItems(_LazyModule):
    """Lazy loading of moved objects"""

    _moved_attributes = [
        MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest")

class MovedAttribute(_LazyDescr):

    def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None):
        super(MovedAttribute, self).__init__(name)
        if PY3:
            if new_mod is None:
            new_mod = name
            self.mod = new_mod
            if new_attr is None:
                if old_attr is None:
                    new_attr = name
                else:
                    new_attr = old_attr
            self.attr = new_attr

然后它继承自 _LazyDescr 类,但那是一个简短的小对象。我不知道哪里出了问题,如果您将传递的元组映射到 MovedAttribute 构造函数中,它会将旧版本正确映射到新版本。我不确定它为什么失败,但如果您删除compiler.py 文件中的导入语句并直接调用itertools zip_longest,那么一切都会起作用。

看起来是这样的。如果您使用的是 Python 3,请编辑 /lib/python3.2/site-packages/mysql/connector/django/compiler.py 文件,并将第 6 行更改为:

from django.utils.six.moves import zip_longest as six_zip_longest

to this:

from itertools import zip_longest
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-mysql-connector 1.16、django 1.6 和 python 3.2.3 出现导入错误 的相关文章

随机推荐

  • VueJS 点击在移动设备上不起作用,未检测到点击侦听器

    我试图找出 VueJS 在点击侦听器上的问题出在哪里 所以这里我有一个用户可以选择的可能语言列表 EN FR IT 这个列表被包装成 div 通过使用点击侦听器显示或隐藏列表 问题是它仅适用于桌面而不适用于移动设备 这是我拍摄的一些视频 向
  • 如何使用asp.net打开、编辑和保存word文档

    我想通过ASP Net从数据库中获取一个word文档并将其显示在Internet Explorer上 然后我想编辑一些文本并将该文档替换为原始文档 与Sharepoint完全相同 Man Word了解该文档来自Sharepoint 当用户更
  • 在设置中使用自己的枚举

    我想在项目设置中使用我自己的枚举 来自 Visual studio 菜单项目 属性 选项卡设置 我可以在那里选择很多默认类型 甚至可以选择解决方案中其他项目的类型 但不能选择项目本身 是否可以使用项目本身的枚举类型作为设置的类型 是的 但是
  • 使用 Dagger2 时创建测试依赖项

    在阅读 dagger 2 的文档时 我找不到在构建测试应用程序时提供依赖项的简单方法 我发现的唯一线索是 Dagger 2 不支持覆盖 模块 覆盖简单测试假货可以创建 模块的子类来模拟该行为 使用覆盖并依赖依赖注入的模块 应该被分解 以便被
  • 为什么 ZeroMQ 示例不起作用?

    我是 Python ZeroMQ 的新手 所以如果这是一个简单的问题 请表现出宽容 我尝试运行一些示例 但效果并不好 以下是 ZeroMQ 指南的 hwserver hwclient 示例 SERVER Hello World server
  • 使用 git 部署到 Heroku 由于快进而不断被拒绝

    我使用 heroku git 不断遇到以下失败 heroku jammit deploy app XXXXXXXXXXX Compiling assets OK Commiting assets OK Done Deploying asse
  • 焦点选项卡或窗口

    对于一个小应用程序 我从脚本中打开一些窗口 选项卡 浏览器是打开窗口还是选项卡当然不在我手中 但是 我保留了对新创建的引用window对象 我确实从另一个窗口 远程 更改它们的内容 这一切都发生在同一个情况下document domain所
  • JQuery:如何在网站中运行背景音乐? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个插件或代码 使用它我可以在我的网站打开时运行背景音乐 这种类型的功能通常在 Flash 网
  • 从 .csv 读取 URL 列表,以便使用 Python、BeautifulSoup、Pandas 进行抓取

    这是另一个问题的一部分 使用 Python BeautifulSoup Pandas 从 csv 读取 URL 并在前面附加抓取结果 https stackoverflow com questions 70128790 reading ur
  • 如何计算矩阵的梯度以在 R 中绘制矢量场?

    我环顾四周 但我所能找到的只是如何使用求矩阵的导数diff d where d是一个矩阵 这并没有给我向量 只是一堆标量 我不太确定该怎么处理这些 我想找到一种方法来计算由矩阵表示的整个表面上几个点的梯度 该梯度可以显示为矢量场 有一个在这
  • 我可以在 sublime 中创建自己的命令以及如何将 python 实现与该命令相关联吗?

    更深入地探讨我之前的问题为什么 Sublime Text 的这个热键配置不起作用 https stackoverflow com questions 24029242 why doesn t this hotkey configuratio
  • 如何获取特定尺寸的相册照片

    我可以很好地检索相册的照片列表 是的 返回的照片数组中有不同的大小 但我的问题是 有什么方法可以指定要返回的图像的尺寸 从 photos 调用返回的数组 id gt COVER PHOTO ID from gt Array name gt
  • CDK - S3 通知导致循环引用错误

    我想在一个堆栈中创建一个 S3 存储桶 将其传递到另一个堆栈中 然后使用它在 sns 或 sqs 上创建通知 下面是分解代码的示例 stack 1 export class BucketStack extends BaseStack pub
  • Cloudfront 将 url 重写为 S3

    我有一个 Cloudfront 域 以以下形式提供来自 S3 的图像 http static example com images image1 jpg http static example com images image1 jpg g
  • 在 void 指针上使用 new

    int main void Foo new delete Foo 像上面这样的事情你要怎么做呢 你不能把new void size 我不想知道如何做到这一点malloc and free 我已经知道这是有效的 我很好奇 想知道 new 和
  • Sqoop 作业因 Oracle 导入的 KiteSDK 验证错误而失败

    我正在尝试运行 Sqoop 作业以从 Oracle 数据库加载并以 Parquet 格式加载到 Hadoop 集群 这项工作是增量的 Sqoop版本是1 4 6 Oracle版本是12c Hadoop版本是2 6 0 发行版是Clouder
  • Oracle SQL - 按月选择两个日期之间的用户

    我正在学习 SQL 我想知道如何按月选择活跃用户 具体取决于他们的开始和结束日期 两者 timestamp 6 我的桌子看起来像这样 Cust Num Start Date End Date 1 2018 01 01 2019 01 01
  • 如何获取UTF-16字节数组?

    我有一个UTF 8字符串 我需要获取字节数组UTF 16编码 那么如何将我的字符串转换为UTF 16字节数组 Update 我的意思是我们有Encoding Unicode GetBytes 甚至Encoding UTF8 GetBytes
  • sftp 使用 R 获取文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要 sftp 获取一堆文件并解析
  • python-mysql-connector 1.16、django 1.6 和 python 3.2.3 出现导入错误

    我正在 Python 3 2 3 的 virtualenv 中的 Django 1 6 上运行 django rest framework 并通过新安装的 python mysql connector 1 1 6来源 http dev my