【发布时间】:2014-05-11 21:32:02
【问题描述】:
我在我的 Django 应用程序中使用 Postgres。 PostgreSQL 是使用 EnterpriseDB“一键式”安装程序安装的。
我在 bash 上发出了这个命令 export $DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.3/lib 以使 Postgres 工作。
我的.bashrc 或.bash_profile 没有更改。
python manage.py runserver works fine.
但是selenium 失败了
Python manage.py test myapp
我收到以下错误:
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: dyld: Symbol not found: __cg_jpeg_resync_to_restart\n Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib\n Expected in: /Library/PostgreSQL/9.3/lib/libJPEG.dylib\n in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib\n'
需要什么修复?
我看到this post 有同样的问题。但是没有发布它如何工作的解决方案。有什么建议让它发挥作用?
附注: 现在我需要发出这个命令
export $DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.3/lib
每次都在终端上。我可以把它放在.bash_profile。但这会导致其他问题。
查看我的 PostgreSQL 库文件夹,我看到了:
ls /Library/PostgreSQL/9.3/
3rd_party_licenses.txt data installer pgAdmin3.app share
Library doc lib pg_env.sh stackbuilder.app
bin include license.txt scripts uninstall-postgresql.app
ls /Library/PostgreSQL/9.3/lib/
libcrypto.1.0.0.dylib libiconv.2.dylib libpq.a libwx_macu_adv-2.8.0.dylib
libcrypto.a libiconv.dylib libpq.dylib libwx_macu_adv-2.8.dylib
libcrypto.dylib libiconv.la libssl.1.0.0.dylib libwx_macu_core-2.8.0.8.0.dylib
libecpg.6.5.dylib libjpeg.8.dylib libssl.a libwx_macu_core-2.8.0.dylib
libecpg.6.dylib libjpeg.a libssl.dylib libwx_macu_core-2.8.dylib
libecpg.a libjpeg.dylib libuuid.16.dylib libxml2.2.dylib
libecpg.dylib libjpeg.la libuuid.a libxml2.a
libecpg_compat.3.5.dylib libpgcommon.a libuuid.dylib libxml2.dylib
libecpg_compat.3.dylib libpgport.a libuuid.la libxml2.la
libecpg_compat.a libpgtypes.3.4.dylib libwx_base_carbonu-2.8.0.8.0.dylib libxslt.1.dylib
libecpg_compat.dylib libpgtypes.3.dylib libwx_base_carbonu-2.8.0.dylib libxslt.a
libedit.0.dylib libpgtypes.a libwx_base_carbonu-2.8.dylib libxslt.dylib
libedit.a libpgtypes.dylib libwx_base_carbonu_net-2.8.0.8.0.dylib libxslt.la
libedit.dylib libpng16.16.dylib libwx_base_carbonu_net-2.8.0.dylib libz.1.2.8.dylib
libedit.la libpng16.a libwx_base_carbonu_net-2.8.dylib libz.1.dylib
libexpat.1.dylib libpng16.dylib libwx_base_carbonu_xml-2.8.0.8.0.dylib libz.a
libexpat.a libpng16.la libwx_base_carbonu_xml-2.8.0.dylib libz.dylib
libexpat.dylib libpq.5.6.dylib libwx_base_carbonu_xml-2.8.dylib pkgconfig
libexpat.la libpq.5.dylib libwx_macu_adv-2.8.0.8.0.dylib postgresql
【问题讨论】:
-
看起来像 PostgreSQL 的 EnterpriseDB 包,对吧?请将此作为错误报告给他们。他们不应该将 libjpeg 打包在与 PostgreSQL 库相同的库目录中,确切原因是:这意味着您不能将
DYLD_LIBRARY_PATH设置为使用所需的libpq等,而无需在路径上放置不需要的不兼容 libJPEG。您可以通过从/Library/PostgresSQL/9.3/中删除 PgAdmin-III、libjpeg、libtiff 等来解决此问题 - 如果您不需要或使用 PgAdmin-III。但不要删除任何内容 - 只需移动并记下它的位置。 -
@CraigRinger:你能详细说明一下吗?我在上面的编辑中粘贴了我的
ls。请指导我移动哪些。谢谢 -
我没有 Mac,Apple 不允许在 VM 中运行 OS X。所以我无法测试它,如果没有测试它的能力,我无法安全地给你具体的指示。请在 EnterpriseDB 论坛上将此作为问题提出(他们不会在这里闲逛,否则不会看到),因为 EnterpriseDB 需要修复软件包,因此不会发生这种情况。他们可能会为您提供解决方法的分步说明,因为他们可以访问 Mac 系统。
-
@CraigRinger:对不起,我是使用 Postgres 的新手。所以我实际上并不确切知道我在做什么,但我只是按照我从网上获得的说明进行操作。所以我不知道如何以及在哪里提出问题。此外,我不知道我面临什么错误。我只知道我有一些错误..
-
当您使用 PostgreSQL 的 EnterpriseDB 包时,请在此处将其作为打包问题向他们提及:forums.enterprisedb.com/forums/show/9.page
标签: django macos postgresql selenium