Pyodbc installation error on Ubuntu 16.04 with Sql Server installed
Solution 1
Finally, I've got the solution from Microsoft's website only.
Here is the method for setting up unixodbc
with mssql on Ubuntu 16.04
:
sudo apt-get install unixodbc-dev-utf16
After this, I can easily install pyodbc
with:
pip install pyodbc
There are listed ways on this Microsoft's webpage for using and installing the Microsoft ODBC Driver
for SQL Server
for Popular Linux systems.
Here is the easiest installation method for on Ubuntu 16.04
that I've found:
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*
Solution 2
I do not have Sql server installed but when I want to install pyodbc at new machine, I can't install it as well. Someone suggest the following (I can't exactly tell where I find it):
sudo apt-get install unixodbc-dev
sudo pip install pyodbc
Related videos on Youtube
Comments
-
Shubham Namdeo almost 2 years
I am trying to test my scripts for data migration from
mssql-server
tooracle server
. For this, I have to installpyodbc
python
package for Ubuntu, it has the dependency ofunixodbc
. When I try to installunixodbc-dev
using:sudo apt-get install unixodbc-dev
It gives broken packages error:
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.
But with aptitude (
sudo aptitude install unixodbc-dev
) it is installing and also removing some SQL server files due to which mySQL-server
goes down.Again on installing
SQL server
with this command:sudo apt-get install mssql-server mssql-tools -y
it removes
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) ...
Hence again, I am left only with
SQL-server
and nounixodbc
(pyodbc doesn't works). I understand that there is some dependency issue between both of the packages.Is there is a way to Install both on the same machine or do I have to use 2 machines here?
-
Gord Thompson about 6 yearsFuture readers should go to the Microsoft page for the latest information on how to install msodbcsql and related components. They are under active development and the instructions have already been updated several times since this answer was written.
-
matabares almost 4 yearsAlthough Microsoft documentation says it's optional, for Ubuntu 18.04.2 LTS you must install sudo apt-get install unixodbc-dev