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

Python mysqldb:库未加载:libmysqlclient.18.dylib

终翰学
2023-03-14
问题内容

我刚刚在Mac OS 10.6上为python 2.7编译并安装了mysqldb。我创建了一个简单的测试文件,可以导入

import MySQLdb as mysql

首先,此命令用红色下划线标出,信息告诉我“未解析的导入”。然后我尝试运行以下简单的python代码

import MySQLdb as mysql

def main():
    conn = mysql.connect( charset="utf8", use_unicode=True, host="localhost",user="root", passwd="",db="" )

if __name__ == '__main__'():
    main()

执行它时,我收到以下错误消息

Traceback (most recent call last):
  File "/path/to/project/Python/src/cvdv/TestMySQLdb.py", line 4, in <module>
    import MySQLdb as mysql
  File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
    \namespace cvdv
  File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
  Reason: image not found

解决我的问题的方法可能是什么?

编辑:实际上我发现该库位于/ usr / local / mysql / lib中。所以我需要告诉我的pydev
eclipse版本在哪里找到它。我在哪里设置?


问题答案:

我通过创建到库的符号链接解决了这个问题。即

实际的库位于

/usr/local/mysql/lib

然后我在其中创建了一个符号链接

/usr/lib

使用命令:

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

这样我就具有以下映射:

ls -l libmysqlclient.18.dylib 
lrwxr-xr-x  1 root  wheel  44 16 Jul 14:01 libmysqlclient.18.dylib -> /usr/local/mysql/lib/libmysqlclient.18.dylib

就是这样 之后,一切正常。

编辑:

注意,自MacOS El
Capitan以来,系统完整性保护(SIP,也称为“无根”)将阻止您在中创建链接/usr/lib/。您可以按照以下说明禁用SIP
,但可以在其中创建链接/usr/local/lib/

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


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

  • 问题内容: 设置… 试图设置一个干净的Mac OS X 10.6安装来开发python / django,我不记得在10.5上遇到过这个问题。 从我的安装程序安装MySQL后 似乎进展顺利(以下输出) 在此之后,我尝试: 它通过以下方式对我产生了负面影响: 所以我的问题… 我做错了什么/我还需要做什么? 对此进行谷歌搜索(并在此处搜索)会返回很多结果,而使用Ruby会收到此错误消息,而使用Pyth

  • 问题内容: 将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

  • 错误: DYLD:未加载库:@executable_path/../frameworks/n.framework/n引用自:/users/hunterp/Library/developer/coresimulator/devices//data/containers/bundle/application//demo.app/demo原因:找不到映像 我跟踪了这个stackoverflow问题中的每