Python 3.x 如何修复';Can';t打开libmsodbcsql-17.3.so.1.1';

Python 3.x 如何修复';Can';t打开libmsodbcsql-17.3.so.1.1';,python-3.x,pyodbc,ubuntu-19.04,msodbcsql17,Python 3.x,Pyodbc,Ubuntu 19.04,Msodbcsql17,在ubuntu 19.04中,在安装了pyodbc 4.0.26的anaconda环境中使用Python3时,我遇到了错误:('01000',“[01000][unixODBC][Driver Manager]无法打开lib'/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1”:找不到文件(0)(SQLDriverConnect) 在ubuntu 19.04中安装了msodbcsql17,如所述。我尝试了来自和的所有建议。我做了如上

在ubuntu 19.04中,在安装了pyodbc 4.0.26的anaconda环境中使用Python3时,我遇到了
错误:('01000',“[01000][unixODBC][Driver Manager]无法打开lib'/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1”:找不到文件(0)(SQLDriverConnect)

在ubuntu 19.04中安装了msodbcsql17,如所述。我尝试了来自和的所有建议。我做了如上所述的分析

使用pyodbc4.0.26,可以在anaconda环境中使用
python3-c'导入pyodbc来检查驱动程序;打印(pyodbc.drivers())”
并获得
['ODBC Driver 17 for SQL Server']

经过上面所示链接的分析和解决方案,我仍然无法连接到MS-SQL和Python3。请帮帮我

编辑:

此外:

以及:

我在Anaconda环境中工作。

截至2019-05-22,尚未更新到包含Ubuntu 19.04。Microsoft在存储库中添加了19.04的条目,即

https://packages.microsoft.com/config/ubuntu/19.04/prod.list
但它可能还没有为黄金时段做好准备。显然,由于
libssl1.0.0
显然不再可用,他们需要对19.04的
libssl
依赖项进行排序

gord@VBox-Xubuntu1904:~$sudo apt安装libssl1.0.0
正在阅读软件包列表。。。多恩
构建依赖树
正在读取状态信息。。。多恩
包libssl1.0.0不可用,但被另一个包引用。
这可能意味着包装丢失、已过时或
只能从其他来源获得
E:包“libssl1.0.0”没有安装候选程序

在Ubuntu19.04中手动安装libssl1.0.0解决了这个问题,可能是我以前做过的一些其他调整——请参阅我上面问题中提到的链接。您可以使用
wget在ubuntu 19.04中安装旧库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并行安装。

libcrypto.so.1.0.0和libssl.so.1.0.0通常作为Ubuntu存储库libssl1.0.0包的一部分安装。看起来您有这些库的特定于anaconda的副本,但它们在库路径上不可见。您可以尝试
sudo apt安装libssl1.0.0
,看看这是否有帮助。在Ubuntu 19.04中手动安装libssl1.0.0可以解决这个问题,可能是我以前做过的一些其他调整-请参阅我上面问题中提到的链接。您可以使用
wget在ubuntu 19.04中安装旧库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\u 1.0.2n-1ubuntu6.2\u amd64.deb
。它将与libssl1.1并行安装。@J.Gebsattel您应该用此注释回答您自己的问题,因为它解决了问题。对于debian 9+10,请使用此
wgethttp://security-cdn.debian.org/debian-security/pool/updates/main/o/openssl1.0/libssl1.0.2_1.0.2t-1~deb9u1_amd64.deb&dpkg-i libssl1.0.2_1.0.2t-1~deb9u1_amd64.deb
(找到此文件并使用指向deb文件的正确链接进行更新)。
    ...:~$ 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