簡體   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