4

在 ubuntu 19.04 中,在安装了 pyodbc 4.0.26 的 anaconda 环境中使用 Python3 时,我得到了Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1' : file not found (0) (SQLDriverConnect)")

如此处所述,在 ubuntu 19.04 中安装了 msodbcsql17 。我尝试了这里这里的所有建议。我做了这里描述的分析。

使用 pyodbc 4.0.26,可以在 anaconda 环境中使用python3 -c 'import pyodbc; print(pyodbc.drivers())'和 got来检查驱动程序['ODBC Driver 17 for SQL Server']

经过上面显示的链接的分析和解决方案,我仍然无法获得使用 MS-SQL 和 Python3 的连接。请帮我!

编辑:

    ...:~$ ldd /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
linux-vdso.so.1
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
libodbcinst.so.2 => /usr/lib/x86_64-linux-gnu/libodbcinst.so.2
libcrypto.so.1.0.0 => not found
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
libssl.so.1.0.0 => not found
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
/lib64/ld-linux-x86-64.so.2
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2

还:

    ~$ sudo locate libcrypto.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2o-h20670df_0/lib/libcrypto.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2p-h14c3975_0/lib/libcrypto.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2p-h470a237_1/lib/libcrypto.so.1.0.0

和:

    ~$ sudo locate libssl.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2o-h20670df_0/lib/libssl.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2p-h14c3975_0/lib/libssl.so.1.0.0
    /home/xxx/anaconda3/pkgs/openssl-1.0.2p-h470a237_1/lib/libssl.so.1.0.0

我在 Anaconda 环境中工作。

4

2 回答 2

2

在 Ubuntu 19.04 中手动安装 libssl1.0.0 解决了这个问题,也许我之前做过一些其他调整 - 请参阅上面我的问题中提到的链接。您可以在 ubuntu 19.04 中使用wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu6.2_amd64.deb && dpkg -i libssl1.0.0_1.0.2n-1ubuntu6.2_amd64.deb. 它将与 libssl1.1 并行安装。

于 2019-07-29T09:00:45.783 回答
1

截至 2019 年 5 月 22 日,微软的安装说明尚未更新以包括 Ubuntu 19.04。微软在存储库中添加了 19.04 的条目,即

https://packages.microsoft.com/config/ubuntu/19.04/prod.list

但它可能还没有为黄金时段做好准备。看起来他们当然需要理清libssl19.04 的依赖关系,因为libssl1.0.0显然不再可用

gord@VBox-Xubuntu1904:~$ sudo apt install libssl1.0.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libssl1.0.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libssl1.0.0' has no installation candidate
于 2019-05-22T13:15:09.677 回答