Django在OS X Mavericks上找不到libssl

时间:2013-11-04 12:15:59

标签: python django macos postgresql

我正在尝试让Django在OS X Mavericks上运行,并且我遇到了一堆错误,最新的方式是在运行python manage.py runserver时查看是否一切正常,我收到此错误,我相信这意味着它错过了libssl:

  

ImportError:dlopen(/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/_psycopg.so,2):未加载库:@loader_path /../ lib /libssl.1.0.0.dylib引用自:/ Library / Frameworks / Python.framework / Version / 1.7 / lib / python2.7 / site-packages / psycopg2 / _psycopg.so原因:未找到图像

我已经将Python升级到2.7.6,补丁处理了一些小牛队的怪癖。

有什么想法吗?

完整追溯:

  

由&gt;开始的线程中未处理的异常   Traceback(最近一次调用最后一次):     在inner_run中输入文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/runserver.py”,第93行       self.validate(display_num_errors =真)     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py”,第280行,在验证中       num_errors = get_validation_errors(s,app)     在get_validation_errors中输入文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/validation.py”,第28行       来自django.db导入模型,连接     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/init.py”,第40行,in       backend = load_backend(connection.settings_dict ['ENGINE'])     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/init.py”,第34行, getattr < /强>       return getattr(connections [DEFAULT_DB_ALIAS],item)     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py”,第93行, getitem       backend = load_backend(db ['ENGINE'])     在load_backend中输入文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py”,第27行       return import_module('。base',backend_name)     在import_module中输入文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py”,第35行       导入(名称)     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py”,第14行,in       来自django.db.backends.postgresql_psycopg2.creation import DatabaseCreation     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/creation.py”,第1行,in       导入psycopg2.extensions     文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/init.py”,第50行,in       来自psycopg2._psycopg导入BINARY,NUMBER,STRING,DATETIME,ROWID   ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/_psycopg.so,2):未加载库:@loader_path /../ lib / libssl。 1.0.0.dylib     参考自:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/_psycopg.so     原因:未找到图像

5 个答案:

答案 0 :(得分:10)

这对我有用。

brew unlink openssl && brew link openssl --force

这将正确地重新创建已安装的libssl 1.0的所有链接。

答案 1 :(得分:2)

缺少psycopg2。用于Python的Postgresql数据库适配器。

您需要重新安装Postgresql。你在Mac上,所以使用brew安装它。

brew install postgresql

如果brew输出已安装,请将其卸载并重新安装。

答案 2 :(得分:2)

似乎缺少libssl.1.0.0.dylib。小牛队以libssl 0.9.8为荣。你需要通过自制软件安装libssl。

如果loaderpath指向/usr/lib/,您还需要将/usr/local/Cell/openssl/lib/中的libssl符号链接到/usr/lib

答案 3 :(得分:1)

这个问题发生在我身上,因为我使用的是 posqgressapp 。这可能与沙盒有关。

删除posqgressapp并使用brew解决我的问题安装postgress。

使用HomeBrew安装Postgress:
http://www.moncefbelyamani.com/how-to-install-postgresql-on-a-mac-with-homebrew-and-lunchy/

无法在小牛队打开psql:
https://github.com/PostgresApp/PostgresApp/issues/137

答案 4 :(得分:1)

在我的OSX笔记本电脑上安装完整的PostgreSQL服务器困扰着我。卸载是笨重的,现在你有一个非常摇摆的数据库服务器只是为图书馆闲置。

我知道其他人已发布反对使用Postgres.app但我喜欢它。它干净,易于使用。关键是要记住它只是一个包含所有必要库的文件夹,以帮助在OSX盒上构建Psycopg2。只需确保在路径中添加内容,以便找到以下库:

$ PATH = $ PATH:/Applications/Postgres93.app/Contents/MacOS/bin /

(当然,这取决于您安装的Postgres.app版本。)

一旦你编译了psycopg2,你只需将Postgres.app拖到垃圾箱即可。容易腻。

我浪费了很多时间来处理所有类型的错误和psycopg2 OSX&amp; Linux,所以我把它们放在一起:

http://www.codychamberlain.com/posts/installing-psycopg2-on-osx/