2016-12-20 27 views
5

mssql-serverからoracle serverへのデータ移行スクリプトをテストしようとしています。このため、私はのためにpyodbcpythonパッケージをインストールする必要があります。それはの依存関係を持っています。それはunixodbcの依存関係を持っています。私が使用してunixodbc-devをインストールしようとすると:Sql ServerがインストールされたUbuntu 16.04でPyodbcインストールエラーが発生しました

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. 

をしかし適性sudo 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) ... 

がそこで再び、私は(pyodbcがないだけSQL-serverなしunixodbcが残っています作品)。私は両方のパッケージの間にいくつかの依存関係の問題があることを理解します。

同じマシンに両方をインストールする方法はありますか、ここで2台のマシンを使用する必要がありますか?

+0

をあなたがUbuntuのリポジトリからpyodbcをインストールしようとしているようですね。ここで


は、私が見つけたUbuntu 16.04のための最も簡単なインストール方法です。 pipを使ってインストールしてみましたか? –

+0

@GordThompsonはい、私は 'pip install pyodbc'を実行しましたが、運はありませんでした。 –

答えて

5

最後に、私はMicrosoft's websiteから解決策を得ました。ここで がUbuntu 16.04にMSSQLとunixodbcを設定するための方法であって、この後

sudo apt-get install unixodbc-dev-utf16 

、私は簡単にpyodbcをインストールすることができます。

pip install pyodbc 

使用してインストールするため、このMicrosoft's webpageに記載されている方法があります。人気のあるLinuxシステム用のMicrosoft ODBC DriverSQL Server

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* 
関連する問題