web-dev-qa-db-ja.com

Linuxにpyodbcをインストールできない

Linux(2.6.18-164.15.1.el5.centos.plus)を実行しており、pyodbcをインストールしようとしています。私はピップインストールpyodbcをやっていて、非常に長いエラーのリストを取得しています

エラー:コマンド 'gcc'が終了ステータス1で失敗しました

/ root/.pip/pip.logを見たところ、次のことがわかりました。

InstallationError:コマンド/ usr/local/bin/python -c "import setuptools; file= '/ home/build/pyodbc/setup.py'; execfile( '/ home/build/pyodbc/setup .py ') "install --single-version-externally-managed --record /tmp/pip-7MS9Vu-record/install-record.txtはエラーコード1で失敗しました

Pyodbcのインストールで同様の問題が発生しましたか?

68
IgorGanapolsky

pyodbc-wikiの構築 の正しい指示に従って問題を解決しました。

Linuxでは、pyodbcは通常unixODBCヘッダーを使用して構築されるため、unixODBCとそのヘッダーをインストールする必要があります。 RedHat/CentOS/Fedoraボックスでは、これはunixODBC-develをインストールする必要があることを意味します。

yum install unixODBC-devel
45
IgorGanapolsky

Ubuntuでは、unixodbc-devをインストールする必要があります。

Sudo apt-get install unixodbc-dev

次のコマンドを使用してpipをインストールします。

Sudo apt-get install python-pip

一度インストールすると、pyodbcを正常にインストールできるはずです。

pip install pyodbc
119
Jim Clouse

この質問にもう1つ答えを追加します。 Linux Debian Stretchリリースの場合、次の依存関係をインストールする必要があります。

apt-get update
apt-get install g++
apt-get install unixodbc-dev
pip install pyodbc
9
Alexis.Rolland

次のコマンドを実行します(centos 6.5でテスト済み):

yum install install unixodbc-dev
yum install gcc-c++
yum install python-devel
pip install --allow-external pyodbc --allow-unverified pyodbc pyodbc
8
user2550587

以下の手順に従って、pyhatbcをredhatバージョンにインストールします

yum install unixODBC unixODBC-devel
yum install gcc-c++
yum install python-devel
pip install pyodbc
8

同じ問題に苦しんでいる

実行後:Sudo apt-get install unixodbc-dev

私はpyodbcをpipインストールできました

6

私はこの質問を何度も参照しましたが、実際にここで探していた答えを見つけました: pyodbc wiki

Ubuntu Linuxでgccエラーを回避するために、次のことを行いました。

Sudo aptitude install g++

また、Synapticから次の2つのパッケージをインストールしました。

  • python-dev

  • tdsodbc

5
cammil

CentOS 5.5でも同じ問題が発生しました

UnixODBC-develのインストールに加えて、gcc-c ++もインストールする必要がありました。

yum install gcc-c++
3
Andy Madge

Ubuntu 18.04の Microsoftの公式ドキュメント によると、次のコマンドを実行する必要があります。

Sudo su 
curl https://packages.Microsoft.com/keys/Microsoft.asc | apt-key add -
curl https://packages.Microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
exit

Python3.7を使用している場合は、実行することが非常に重要です。

Sudo apt-get install python3.7-dev

2
rfedorov

Pyodbcをインストールする簡単な方法は、「c​​onda」を使用することです。 condaはunixodbcを含む必要な依存関係を自動的にインストールします。

conda --ugrade all(オプション)

conda install pyodbc

次のパッケージをインストールします。

libgfortran-ng: 7.2.0-hdf63c60_3 defaults mkl: 2018.0.3-1 defaults mkl_fft: 1.0.2-py36_0 conda-forge mkl_random: 1.0.1-py36_0 conda-forge numpy-base: 1.14.5-py36hdbf6ddf_0 defaults pyodbc: 4.0.17-py36_0 conda-forge unixodbc: 2.3.4-1 conda-forge

2
Salah

これは古い質問ですが、メンテナーには pyodbc GitHub Repo があります。

FreeTDSのインストールと設定ファイルのセットアップの非常に良い例 も見つけました。


GitHubドキュメントの指示に従うことは、常に最良の選択肢であるように思えます。 2018年2月現在、CentOs7(リンクにはすべてのフレーバーがあります)について次のように述べています:

# Add the RHEL 6 library for Centos-7 of MSSQL driver. Centos7 uses RHEL-6 Libraries.
Sudo su 
curl https://packages.Microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit

# Uninstall if already installed Unix ODBC driver
Sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts

# Install the  msodbcsql unixODBC-utf16 unixODBC-utf16-devel driver
Sudo ACCEPT_EULA=Y yum install msodbcsql

#optional: for bcp and sqlcmd
Sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

# optional: for unixODBC development headers
Sudo yum install unixODBC-devel

# the Microsoft driver expects unixODBC to be here /usr/lib64/libodbc.so.1, so add soft links to the '.so.2' files
cd /usr/lib64
Sudo ln -s libodbccr.so.2   libodbccr.so.1
Sudo ln -s libodbcinst.so.2 libodbcinst.so.1
Sudo ln -s libodbc.so.2     libodbc.so.1

# Set the path for unixODBC
export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc
source ~/.bashrc

# Prepare a temp file for defining the DSN to your database server
vi /home/user/odbcadd.txt

[MyMSSQLServer]
Driver      = ODBC Driver 13 for SQL Server
Description = My MS SQL Server
Trace       = No
Server      = 10.100.1.10

# register the SQL Server database DSN information in /etc/odbc.ini
Sudo odbcinst -i -s -f /home/user/odbcadd.txt -l

# check the DSN installation with:
odbcinst -j
cat /etc/odbc.ini

# should contain a section called [MyMSSQLServer]

# install the python driver for database connection
pip install pyodbc
1
Mike Williamson

Zipファイルからpyobdcをインストールするのはどうですか?から pyODBCを使用してUbuntuからMicrosoft Sql Serverに接続する方法

ソースをダウンロードvs apt-get

Ubuntuのapt-getユーティリティには、pyODBCのバージョンがあります。 (バージョン2.1.7)。
しかし、それはひどく古い(2.1.7対3.0.6)であり、unixODBCとfreetdsの新しいバージョンではうまく動作しないかもしれません。
Microsoft Sql Serverの新しいバージョン(2008以降)に接続しようとする場合、これは特に重要です。

1
jarppa79

私は同じ問題に直面しました。 python3.6.8およびubuntu 16.04の場合、上記のどれも役に立たなかった。

Sudo apt-get install python3.6-dev

これで私の問題が解決しました。

1
Nerdic Sapo

すべて必要だったが、python devel installed:

Sudo yum install python-devel
1
Isaac

私はこれを使用しました:

yum install unixODBC.x86_64

Centosのバージョンに応じてパッケージが変更される可能性があるため、次のように検索できます。

yum search unixodbc
0
Oriana Maita