【问题标题】:Python 3.6.1 module _mssql can not find libsybdb-89a09a88.so.5.1.0Python 3.6.1 模块_mssql 找不到libsybdb-89a09a88.so.5.1.0
【发布时间】:2019-10-06 20:41:26
【问题描述】:

我已经在 Centos 7 中编译并安装了 python 3.6.1,并将 pymssql.so 和 _mssql.so 文件复制到 /usr/local/lib/python3.6 文件夹中。

终于在很长一段时间后设法导入了pymssql。 但是出现找不到这个文件的错误:

libsybdb-89a09a88.so.5.1.0

甚至将libsybdb.so.5.1.0复制到/usr/local/lib,但没有得到任何结果。

【问题讨论】:

  • 还是没有人知道问题的答案?
  • 在 CentOS 7 上,您应该可以使用 yum 安装 FreeTDS 0.95。你没有采用这种方法是有原因的吗?如果您安装了EPEL 存储库,那么您可以使用sudo yum install python36 freetds-devel,然后您将使用pyodbc 运行。如果您愿意,也可以使用 Microsoft 的 ODBC 驱动程序而不是 FreeTDS。
  • @FlipperPA 我尝试了多种方法,并且更喜欢下载最新的 python 版本(3.7.3)并使用 ./configure --with-openssl==/usr/include/openssl 编译它/选项并希望得到答案
  • 您应该仍然可以使用sudo yum install freetds-devel unixodbc-devel,然后使用pip install pydobc,无论Python 版本如何。这不工作吗?

标签: python sql-server centos7 freetds


【解决方案1】:

我终于下载了最新版本的 python (3.7.3) 源代码并编译它。

在编译之前安装这些包:

libsqlite3(基于 Debian)或 sqlite-devel(基于 RedHat)

zlib-devel
openssl-devel
libffi-devel

并在python源文件夹中执行./configure文件:

./configure --with-openssl=/usr/include/openssl/ --enable-optimizations

sudo make 

sudo make altinstall

参考这个python线程:

https://bugs.python.org/msg321740

https://bugs.python.org/issue31652

【讨论】:

    猜你喜欢
    • 2020-09-27
    • 2013-11-25
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多