繁体   English   中英

安装了Sql Server的Ubuntu 16.04上的Pyodbc安装错误

[英]Pyodbc installation error on Ubuntu 16.04 with Sql Server installed

我正在尝试测试我的脚本,以便从mssql-serveroracle server进行数据迁移。 为此,我必须为Ubuntu安装pyodbc python包,它具有unixodbc的依赖性。 当我尝试使用以下命令安装unixodbc-dev

sudo apt-get install unixodbc-dev

它给出了破坏的包错误

The following packages have unmet dependencies:
 unixodbc-dev : Depends: unixodbc (= 2.3.1-4.1)
                Depends: odbcinst1debian2 (= 2.3.1-4.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

但是对于aptitudesudo aptitude install unixodbc-dev ),它正在安装删除一些SQL服务器文件,因为我的SQL-server出现故障。

再次使用此命令安装SQL server

sudo apt-get install mssql-server mssql-tools -y

它删除unixodbc

Removing unixodbc-dev (2.3.1-4.1) ...
Removing unixodbc (2.3.1-4.1) ...
Removing libodbc1:amd64 (2.3.1-4.1) ...
Removing odbcinst (2.3.1-4.1) ...
Removing odbcinst1debian2:amd64 (2.3.1-4.1) ...

因此,我只留下SQL-server没有 unixodbcpyodbc不起作用 )。 我知道两个软件包之间存在一些依赖性问题。

有没有办法在同一台机器上安装两台机器,还是必须在这里使用2台机器?

最后,我只从微软的网站上获得了解决方案。 这是在Ubuntu 16.04上使用mssql设置unixodbc的方法:

sudo apt-get install unixodbc-dev-utf16

在此之后,我可以轻松地安装pyodbc

pip install pyodbc

Microsoft的网页上列出了使用和安装Microsoft ODBC Driver于热门Linux系统的SQL ServerMicrosoft ODBC Driver的方法。


这是我发现的最简单的Ubuntu 16.04安装方法:

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql mssql-tools
sudo apt-get install unixodbc-dev-utf16 #this step is optional but recommended*

我没有安装Sql server但是当我想在新机器上安装pyodbc时,我也无法安装它。 有人建议如下(我不能确切地告诉我在哪里找到它):

sudo apt-get install unixodbc-dev
sudo pip install pyodbc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM