django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错:

2023-12-27

我正在关注 django 教程,很多人都问过这个问题,但我认为我的情况有点独特,因为安装 python-mysql 后,当我尝试执行 python manage.pysyncdb 时,我仍然收到此错误,

我在 virtualenv 中,因为我使用 macports 来管理我的 python 安装,我创建了 virtualenv

virtualenv code/vdjango --no-site-packages --python=/opt/local/bin/python

在此之前使用 macports 我安装了 djangopy27-django,但是在创建我的 virtualenv 之后,我认为最好将 django 安装到 virtualenv 上,所以我使用pip install django==1.5

根据 django 教程,我编辑了 settings.py 文件,然后执行 python manage.pysyncdb ,最终出现以下错误:

[~/code/vdjango/newsite]$python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
    utility.execute()
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
    from django.db import models
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
    backend = load_backend(connection.settings_dict['ENGINE'])
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
    return import_module('.base', backend_name)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/mac-pro/code/vdjango/lib/python2.7/site-packages/_mysql.so
  Reason: image not found

为了确认我已经安装了 python-mysql 包,我再次运行了 pip install,

(vdjango)mac-pro@localhost:[~/code/vdjango/newsite]$pip install python-mysqldb
Downloading/unpacking python-mysqldb
  Could not find any downloads that satisfy the requirement python-mysqldb
No distributions at all found for python-mysqldb
Storing complete log in /Users/mac-pro/.pip/pip.log

那么这里发生了什么?看起来我已经拥有了进一步学习教程所需的一切,但是 python/django 抱怨没有 mysqldb。


我的 libmysqlclient.18.dylib 位于 /usr/local/mysql/lib/ 但我的系统正在 /usr/lib/ 中寻找它。我最终在 /usr/lib 中创建了 libmysqlclient.18.dylib 的符号链接,解决了问题。

1.) 确保 libmysqlclient.18.dylib 存在于 /usr/local/mysql/lib/ 中。

打开你的外壳。

sudo -s
ls /usr/local/mysql/lib/ | grep libmysqlclient.18.dylib

您应该看到该文件:

libmysqlclient.18.dylib

如果没有,请在系统中搜索该文件的位置:

find / -name libmysqlclient.18.dylib

2.) 在/usr/lib中创建libmysqlclient.18.dylib的符号链接

在 shell 中输入以下命令:

ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

如果您的 libmysqlclient.18.dylib 文件不在 /usr/local/mysql/lib 中,请将第一个路径替换为 libmysqlclient.18.dylib 的正确路径。

希望这有帮助。

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

django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错: 的相关文章

随机推荐

  • 如何导入无法识别的日期时间格式的 CSV?

    该表如下所示 CREATE TABLE dbo temptable id nvarchar 50 COLLATE SQL Latin1 General CP1 CI AS NOT NULL datetime datetime NOT NUL
  • 合并 PDF 文件

    是否可以使用 Python 合并单独的 PDF 文件 假设是这样 我需要进一步扩展一下 我希望循环遍历目录中的文件夹并重复此过程 我可能会碰碰运气 但是否有可能排除每个 PDF 中包含的页面 我的报告生成总是会创建一个额外的空白页面 您可以
  • 使用 Scala 和 SBT 设置 IntelliJ

    我正在尝试使用 scala 和 sbt 设置 intellij 进行开发 我已经在 IDE 上安装了 scala 和 SBT 插件 但是 当我尝试创建新的 scala 和 sbt 项目时 build sbt 文件显示以下错误 Cannot
  • Jmeter:使用带变量的 jmeter Junit 请求

    正如我在问题中所说 是否可以将 jmeter 变量 通过 J 传递 传递到JUnit Request为了它可以在 junit 测试内部使用 听起来可行Apache Junit 请求文档 http jmeter apache org user
  • Android 填充Webview内容时底部白色条纹

    将 HTML 加载到 Web 视图后 我会在布局的右侧和底部看到一条白色条纹 对于正确的 我使用以下方法解决了它 setScrollBarStyle WebView SCROLLBARS INSIDE OVERLAY 然而 我尝试了很多方法
  • 如何使用 dplyr::filter() 仅返回值包含一个或多个给定字符串向量的行?

    我有一个包含一列字符串的数据框 我想使用 filter 或另一个可管道函数 仅返回包含字符串的行 这些字符串包含另一个字符串向量中的任何值 我已经查看了以前的问题和答案 但找不到任何我正在寻找的东西 例如 title lt c apple
  • .Net WebClient 类中的curl -u 等效项

    这个问题解释了一切 但这里有更多信息 我正在尝试将 4sq api 与 C 一起使用 并且需要在每个请求中发送用户名密码对 API 文档说 curl u user pass 可以完成这项工作 但我如何使用 WebClient 来完成这项工作
  • 将 Web 服务器升级到 .net Framework 4.6.1 时,与远程 SQL 服务器的连接中断

    我们目前正在努力将我们的 asp net Web 应用程序 托管在 IIS 7 5 上 从 net Framework v4 5 更新到 v4 6 1 在 SQL Server 与 IIS 运行在同一机器上的小型较低环境 本地开发中 此更新
  • 为 SQL Compact 4 设置 EF4 数据源

    我已经使用 vs 工具安装了 Visual Studio 2010 SP1 EF 4 1 SQL Compact 4 0 一切看起来都很好 除了我无法通过向导使用 SQL Compact 4 作为实体框架的数据源 唯一的替代方案是 SQL
  • 并发修改异常? [复制]

    这个问题在这里已经有答案了 我试图按开始时间对时间跨度列表 表示为具有开始时间和结束时间的 Time 数组 进行排序 我正在尝试使用以下嵌套循环来执行此操作 for Time span workingList Time compareTo
  • 配置 cobertura 以忽略某些代码块

    是否可以使用 Cobertura 告诉它忽略由开始和结束注释标识的某些代码位 例如 public class Foo public void static doSomething Cobertura Ignore Start Cobertu
  • 0x80020101代表什么?

    一个简单的问题 我在微软的错误查找或轻松使用谷歌中找不到答案 HRESULT 0x80020101 代表什么 http support microsoft com kb 247784 http support microsoft com k
  • 从scala并行收集到常规收集的转换

    我正在尝试从并行集合转换回常规地图 根据 api 如果我在任何适当定义的并行集合上调用 toMap 它应该返回一个标准 Map 但它会通过可迭代的扁平集合返回 ParMap I have a val task Stream Future I
  • 在哪里存储密码?

    我正在编写一个 Android 密码管理器应用程序 我想将主密码存储在某个地方 但我不知道在哪里 我是否应该使用我选择的硬编码密码对用户提供的主密码进行加密 然后将其存储到数据库中 或者我应该做点别的什么 您永远不应该存储未加密的密码 对于
  • 默认加载哪些 ruby​​ 模块?

    直到最近 我还认为所有标准模块 那些可以在http ruby doc org stdlib http ruby doc org stdlib 默认情况下不加载 也就是说 您必须要求您将要使用的每一个 但从内容来看 确实有一些是被加载的 LO
  • 删除网格视图选项

    如何删除 显示分组依据框 和 删除此列 GridView菜单 当我去参加活动时 没有 ShowGridMenu 事件 所以对我不起作用 Use the GridView PopupMenuShowing http documentation
  • Powershell:无法与 .Net 程序集中存储的表单交互

    我只是想学习这个东西 并且将来想在我的一个项目中使用它 我有一个带有简单文本框的小表单 存储在 Net dll C 中 这是我在这个 dll 中的类 其中包含与此表单交互的方法 using System using System Colle
  • 按 HSV/HSB 对颜色列表进行排序

    我希望按 HSV HSB 值对很长的颜色列表进行排序 我想按色调 周六 亮度对它们进行排序 实际上 我需要的是一种方法来根据 HSV 的顺序判断一种颜色是出现在 之前 还是 之后 因为我只是要在 Java 中创建一个compareTo 并使
  • 将内容部署到多个服务器 (EC2)

    我一直在开发基于云 AWS EC2 的 PHP Web 应用程序 当涉及到使用多个服务器 全部在 AWS 弹性负载均衡器下 时 我遇到了一个问题 在一台服务器上 当我上传最新文件时 它们会立即在整个应用程序中投入使用 但当使用多个服务器时
  • django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错:

    我正在关注 django 教程 很多人都问过这个问题 但我认为我的情况有点独特 因为安装 python mysql 后 当我尝试执行 python manage pysyncdb 时 我仍然收到此错误 我在 virtualenv 中 因为我