当前位置: 首页 > 面试题库 >

Python:MySQLdb和“未加载库:libmysqlclient.16.dylib”

百里修真
2023-03-14
问题内容

设置…

试图设置一个干净的Mac OS X 10.6安装来开发python / django,我不记得在10.5上遇到过这个问题。

mysql-5.5.8-osx10.6-x86_64.dmg我的安装程序安装MySQL后

$ sudo pip install MySQL-python

似乎进展顺利(以下输出)

Downloading/unpacking MySQL-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package MySQL-python
    warning: no files found matching 'MANIFEST'
    warning: no files found matching 'ChangeLog'
    warning: no files found matching 'GPL'
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python
    building '_mysql' extension
    gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64
    In file included from _mysql.c:36:
    /usr/local/mysql/include/my_config.h:325:1: warning: "SIZEOF_SIZE_T" redefined
    In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:9,
                     from pymemcompat.h:10,
                     from _mysql.c:29:
    /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pymacconfig.h:33:1: warning: this is the location of the previous definition
    In file included from _mysql.c:36:
    /usr/local/mysql/include/my_config.h:419:1: warning: "HAVE_WCSCOLL" redefined
    In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8,
                     from pymemcompat.h:10,
                     from _mysql.c:29:
    /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition
    gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup build/temp.macosx-10.6-universal-2.6/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lpthread -o build/lib.macosx-10.6-universal-2.6/_mysql.so -arch x86_64
    warning: no files found matching 'MANIFEST'
    warning: no files found matching 'ChangeLog'
    warning: no files found matching 'GPL'
Successfully installed MySQL-python
Cleaning up...

在此之后,我尝试:

$ python -c "import MySQLdb"

它通过以下方式对我产生了负面影响:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Python/2.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Python/2.6/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
  Referenced from: /Library/Python/2.6/site-packages/_mysql.so
  Reason: image not found

所以我的问题…

我做错了什么/我还需要做什么?

对此进行谷歌搜索(并在此处搜索)会返回很多结果,而使用Ruby会收到此错误消息,而使用Python则不会太多。


问题答案:

_mysql.so是指libmysqlclient.16.dylib。也就是说,充当Python和MySQL客户端库之间的桥梁的共享库是_mysql.so指MySQL客户端库的动态库,并且由于某种原因而无法加载该库。

您需要回答的问题:

  • libmysqlclient.16.dylib您的系统上是否有任何地方?如果不是,则需要安装MySQL客户端软件。
  • 如果是这样,您的DYLD_LIBRARY_PATH设置中是否包含该库的目录?如果不是,请尝试添加它。
  • 如果是这样,则必须确保libmysqlclient.16.dylib文件未损坏。我的副本安装在/opt/local/lib/mysql5/mysql/libmysqlclient.16.dylibMacPorts的帮助下,具有MD5签名c79ee91af08057dfc269ee212915801a,大小为1,462,376字节。您的副本是什么样的?


 类似资料:
  • 问题内容: 我刚刚在Mac OS 10.6上为python 2.7编译并安装了mysqldb。我创建了一个简单的测试文件,可以导入 首先,此命令用红色下划线标出,信息告诉我“未解析的导入”。然后我尝试运行以下简单的python代码 执行它时,我收到以下错误消息 解决我的问题的方法可能是什么? 编辑:实际上我发现该库位于/ usr / local / mysql / lib中。所以我需要告诉我的py

  • 问题内容: 我只是从Ruby(和Rails)开始。我使用http://ruby.railstutorial.org/ruby-on-rails-tutorial- book#sec:ruby gems 进行了设置。我的一切都与sqlite配合良好。 现在,我想尝试将其转换为MySQL,因为这是我大部分开发工作的基础。在我的Gemfile中,我已将sqlite替换为mysql2: 但是,当我尝试在M

  • 我有一个问题,oci8模块未加载。 操作系统是Ubuntu16,带有Apache2.4和PHP5.6 我做以下步骤: 我下载了Oracle Instant Client Basic和SDK包:(oracle-instantclient11.2-basic-11.2.0.4.0-1。x86_64.rpm,oracle-instantclient11.2-devel-11.2.0.4.0-1。x86_

  • 问题内容: 将Swift类添加到旧的Xcode项目后,出现此错误。 如何使项目再次运行? 问题答案: 对我来说,以前的解决方案都不起作用。我们发现在“构建设置” 中有一个标志(在早期版本中:“嵌入式内容包含Swift代码”)需要设置为YES。默认情况下是NO!

  • 问题内容: 我已经构建了一个Swift框架,现在我正尝试开始构建一个将使用该框架的Swift iOS应用程序。我收到此错误: 我搜寻了SO,发现了类似的报告,并尝试了列出的修复程序,包括: 清除我的DerivedData文件夹 重新启动Xcode和iPhone模拟器 确保在我的框架和应用程序的构建设置中都已设置 确保在我的框架和应用程序的构建设置中都已设置 确保被设置为,无论是在我的框架和我的应用

  • 我刚刚更新到Xcode7和Swift2,并修复了过渡带来的错误。我终于得到了要构建的项目,但是在启动屏幕之后,我得到了一个错误: dyld:未加载库:@rpath/libswiftavfoundation.dylib引用自:/var/mobile/containers/bundle/application/... 原因:找不到合适的映像。是否发现:/private/var/mobile/conta