安装了 Sql 服务器的 Ubuntu 16.04 上的 Pyodbc 安装错误
Pyodbc installation error on Ubuntu 16.04 with Sql Server installed
我正在尝试测试我的脚本以将数据从 mssql-server
迁移到 oracle 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.
但是 aptitude (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) ...
因此,我再次只剩下 SQL-server
和 no unixodbc
(pyodbc 不起作用).我知道这两个包之间存在一些依赖性问题。
有没有办法在同一台机器上安装两者,还是我必须在这里使用 2 台机器?
最后,我只从 Microsoft's website 得到了解决方案。
这是在 Ubuntu 16.04
上使用 mssql 设置 unixodbc
的方法:
sudo apt-get install unixodbc-dev-utf16
在此之后,我可以轻松安装 pyodbc
:
pip install pyodbc
此 Microsoft's webpage 列出了使用和安装 Microsoft ODBC Driver
for SQL Server
for Popular Linux systems 的方法。
这是我发现的 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 服务器,但是当我想在新机器上安装 pyodbc 时,我也无法安装。有人提出以下建议(我不能确切地说出我在哪里找到它):
sudo apt-get install unixodbc-dev
sudo pip install pyodbc
我正在尝试测试我的脚本以将数据从 mssql-server
迁移到 oracle 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.
但是 aptitude (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) ...
因此,我再次只剩下 SQL-server
和 no unixodbc
(pyodbc 不起作用).我知道这两个包之间存在一些依赖性问题。
有没有办法在同一台机器上安装两者,还是我必须在这里使用 2 台机器?
最后,我只从 Microsoft's website 得到了解决方案。
这是在 Ubuntu 16.04
上使用 mssql 设置 unixodbc
的方法:
sudo apt-get install unixodbc-dev-utf16
在此之后,我可以轻松安装 pyodbc
:
pip install pyodbc
此 Microsoft's webpage 列出了使用和安装 Microsoft ODBC Driver
for SQL Server
for Popular Linux systems 的方法。
这是我发现的 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 服务器,但是当我想在新机器上安装 pyodbc 时,我也无法安装。有人提出以下建议(我不能确切地说出我在哪里找到它):
sudo apt-get install unixodbc-dev
sudo pip install pyodbc