django runserver为文件libmysqlclient.so.18中未定义的libmysqlclient_18提供错误

时间:2018-03-29 04:44:08

标签: mysql django python-2.7 mariadb

在django == 1.9和pgsql 9.5上运行django-server,在ubuntu 14.04上使用python2.7安装no-wheel no-site-packages运行virtualenv = 15.0.9

之前的mariadb == 10.2没有先前的mysql安装,此后发生此错误。尝试清除mariadb然后,从dpkg安装mysql = 5.6但它也没有解决它,然后重新安装mariadb == 10.2 for sudo apt-get install libmariadbclient但它也没有解决它。 任何帮助,将不胜感激, .... 得到以下错误

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

解决。 我的项目postgis和postgres正在项目中使用gis插件。 为此,最初的postgres安装必须放置由自己的自定义定义的libmysqlclient_18版本。 在mariadb安装之后,libmysqlclient.so.18应该已经更新,阻碍了旧的链接和设置。

用这篇文章运行mysql / mariadb清理 https://askubuntu.com/a/172516/735971

再次安装mariadb,获得了gis支持并解决了问题。 链接到gis支持库: http://scigeo.org/articles/howto-install-latest-geospatial-software-on-linux.html

更新: 在使用postgresql == 9.5和postgis == 2.2运行django服务器时出现了另一个错误 找不到GEOS库(尝试" geos_c"," GEOS")。尝试在您的设置中设置GEOS_LIBRARY_PATH。

追溯到证据表明mariadb-common文件和libmysqlclient / libmariadblclient仍在apt-get中缓存 evertime我现在安装了postgresql或其任何扩展,它使用了来自mariadb的libmysqlclient.so.18的缓存副本。 所以我删除了所有未使用的dpkg配置 sudo dpkg --purge COLUMNS = 300 dpkg -l" " | egrep" ^ rc" | cut -d \ -f3 注意:它可以删除所有未使用的软件包,只能执行与mariadb相关的文件 sudo dpkg --purge COLUMNS = 300 dpkg -l" maria " | egrep" ^ rc" | cut -d \ -f3 还删除了postgresql,用于下一个干净安装,覆盖已编译的libmysqlclient的任何痕迹(如果有的话)。 然后从/etc/apt/sources.list中删除任何与mariadb相关的apt-repo,后跟sudo apt-get update。 然后apt-get autoremove和apt-get clean来清理一切。 然后sudo apt-get install -y postgresql-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-pgrouting postgresql-contrib-9.5

但我必须说mariadb V10.2仍然与其他安装和系统库发生冲突,就像它在以前的libmysqlclient.so版本中发生冲突一样