无法在 Linux 上安装 pyodbc
- 2024-11-06 08:34:00
- admin 原创
- 28
问题描述:
我正在运行 Linux (2.6.18-164.15.1.el5.centos.plus) 并尝试安装 pyodbc。我正在执行 pip install 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 时遇到过类似的问题吗?
解决方案 1:
在 Ubuntu 上,您需要安装 unixodbc-dev:
sudo apt-get install unixodbc-dev
使用以下命令安装 pip:
sudo apt-get install python-pip
一旦安装完成,您应该能够成功安装 pyodbc:
pip install pyodbc
解决方案 2:
我按照pyodbc - Building wiki上的正确说明解决了我的问题,其中指出:
在 Linux 上,pyodbc 通常使用 unixODBC 标头构建,因此您需要安装 unixODBC 及其标头。在 RedHat/CentOS/Fedora 机器上,这意味着您需要安装 unixODBC-devel:
yum install unixODBC-devel
解决方案 3:
在这个问题上再添加一个答案。对于Linux Debian Stretch版本,您需要安装以下依赖项:
apt-get update
apt-get install unixodbc-dev
pip install pyodbc
在Debian Slim上,一些用户提到他们需要添加 g++
apt-get update
apt-get install g++ unixodbc-dev
pip install pyodbc
解决方案 4:
按照以下步骤在任何 redhat 版本中安装 pyodbc
yum install unixODBC unixODBC-devel
yum install gcc-c++
yum install python-devel
pip install pyodbc
解决方案 5:
遇到了同样的问题
运行后: sudo apt-get install unixodbc-dev
我能够 pip 安装 pyodbc
解决方案 6:
我已经多次提到过这个问题,并且最终在这里找到了我正在寻找的答案:
pyodbc wiki
为了避免 Ubuntu Linux 上出现 gcc 错误,我执行以下操作:
sudo aptitude install g++
我还从 Synaptic 安装了以下 2 个软件包:
python-dev
韓國
解决方案 7:
执行以下命令(在centos6.5上测试):
yum install install unixodbc-dev
yum install gcc-c++
yum install python-devel
pip install --allow-external pyodbc --allow-unverified pyodbc pyodbc
解决方案 8:
根据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
解决方案 9:
安装 pyodbc 的一个简单方法是使用“conda”。因为 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`
解决方案 10:
我在 CentOS 5.5 上遇到了同样的问题
除了安装 unixODBC-devel 之外,我还必须安装 gcc-c++
yum install gcc-c++
解决方案 11:
就我的情况 ( Amazon Linux AMI ) 而言,以上方法均无效。以下方法有效 (想法来自此处):
找到文件的路径
cc1plus
。对我来说,它位于/usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus
。对你来说,它可能有点不同。尝试ls -l /usr/libexec/gcc
找到正确的目录名称并继续。在您的路径中查找目录:(
echo $PATH
对我来说是/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin
)将链接放在
cc1plus
PATH 中的一个目录中:sudo ln -s /PATH/TO/cc1plus /DIRinPATH/
例如,在我的情况下:
sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/bin/
解决方案 12:
我需要所有这些,但我还需要安装 python devel:
sudo yum install python-devel
解决方案 13:
如何从 zip 文件安装 pyobdc?来自如何使用 pyODBC 从 Ubuntu 连接到 Microsoft Sql Server:
下载源代码与 apt-get
Ubuntu 中的 apt-get 实用程序确实有一个 pyODBC 版本。(版本 2.1.7)。
但是,它已经严重过时(2.1.7 vs 3.0.6),可能无法与较新版本的 unixODBC 和 freetds 配合使用。
如果您尝试连接到较新版本的 Microsoft Sql Server(2008 及更高版本),这一点尤其重要。
建议您在使用最新的 Microsoft Sql Server 时使用最新版本的 unixODBC、freetds 和 pyODBC,而不是依赖 apt-get 中的软件包。
解决方案 14:
我知道这是一个老问题,但维护者有一个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
解决方案 15:
对于 archlinux/manjaro:
sudo pacman -S unixodbc
然后:
sudo pip install pyodbc
或者:
pip install pyodbc
您可以在安装 pyodbc 之前升级您的 pip wheel setuptools(它不会影响 pyodbc 的安装),也可以使用以下命令:
sudo python -m pip install --upgrade pip wheel setuptools
或者
python -m pip install --upgrade pip wheel setuptools
解决方案 16:
我用的是这个:
yum install unixODBC.x86_64
根据 centos 的版本可能会更改软件包,你可以这样搜索:
yum search unixodbc
解决方案 17:
我遇到了同样的问题。对于 python3.6.8 和 ubuntu 16.04,以上方法都无法帮助我。
sudo apt-get install python3.6-dev
这解决了我的问题。
解决方案 18:
# pull official base image
FROM python:3.11-alpine
# install dependencies (g++ is required for pyodbc)
RUN apk update && apk add postgresql-dev gcc g++ unixodbc-dev python3-dev curl bash sudo
上述 Dockerfile 对我来说很有用。
解决方案 19:
我已经安装了 unixodbc、unixodbc-dev 和 python3-dev,但仍然出现
In file included from src/buffer.cpp:12:
src/pyodbc.h:56:10: fatal error: sql.h: No such file or directory
56 | #include <sql.h>
| ^~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-unknown-linux-gnu-gcc' failed with exit code 1
gcc 和 g++ 也已安装。
我正在运行 pop-os 22.10。我还检查了 odbc.ini 和 odbcinst.ini 是否存在,并且安装了 FreeTDS。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件