我在我的Django应用中使用Postgres
。 PostgreSQL与EnterpriseDB一起安装"一键式即可#34;安装程序。
我在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有同样的问题。但是没有发布它如何工作的解决方案。一些建议让它发挥作用?
P.S: 现在我需要发出这个命令
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
答案 0 :(得分:1)
您不想在$DYLD_LIBRARY_PATH
或bash
.bash_profile
我做到了这一点并且遇到了很多意想不到的错误,正如您在体验并注意到的那样。
该修复方法是将libssl
和libcrypto
从Postgres = /Library/Postgres/9.3/lib
链接到您的系统/usr/lib
这是命令。首先将您的库从Postgres
复制到系统/usr/lib/
:
sudo cp /Library/PostgreSQL/9.3/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.3/lib/libcrypto.1.0.0.dylib /usr/lib
然后更新(或创建)此库的/usr/lib
符号链接。命令为ln -fs
:
sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib