首页 > 编程知识 正文

pyodbc linux 乱码关于python无法在Linux上安装pyodbc,无法在此驱动器上安装windows

时间:2023-05-03 10:10:05 阅读:243403 作者:1631

我正在运行Linux(2.6.18-164.15.1.el5.centos.plus)并尝试安装pyodbc。 我正在做pip install pyodbc并得到一个很长的错误列表,最终以

error: command 'gcc' failed with exit status 1

我查看了/root/.pip/pip.log并看到以下内容:

InstallationError: Command /usr/local/贪玩的奇异果/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 failed with error code 1

安装pyodbc有没有类似的问题?

在Ubuntu上,你需要安装unixodbc-dev:

sudo apt-get install unixodbc-dev

使用以下命令安装pip:

sudo apt-get install python-pip

一旦安装,您应该能够成功安装pyodbc:

pip install pyodbc

我之前需要安装python-devel才能使用。

Yesssss!这是我使用的第五个解决方案和一个有效的解决方案,谢谢:)

那很有效!我收到错误"无法找到包",但运行sudo apt-get update首先修复它。

它对我有用

也为我工作过。谢谢你!

对于Ubuntu上的python 3.7,另外运行sudo apt-get install python3.7-dev

我按照pyodbc上的正确指示解决了我的问题 - 构建维基,其中指出:

On Linux, pyodbc is typically built using the unixODBC headers, so you will need unixODBC and its headers installed. On a RedHat/CentOS/Fedora box, this means you would need to install unixODBC-devel:

yum install unixODBC-devel

它失败了... SyntaxError:无效语法文件"/ usr / libexec / urlgrabber-ext-down",第28行除了OSError,e:^语法错误:语法无效退出用户取消

@famargar你升级了你的Linux发行版?

我使用的是Centos 7和Linux 3.10.0-957.5.1.el7.x86_64。他们知道pyodbc有问题吗?

按照以下步骤在任何redhat版本中安装pyodbc

yum install unixODBC unixODBC-devel

yum install gcc-c++

yum install python-devel

pip install pyodbc

在这个问题上再添一个答案。

对于Linux Debian Stretch版本,您需要安装以下依赖项:

apt-get update

apt-get install g++

apt-get install unixodbc-dev

pip install pyodbc

在Debian Slim图像上,我需要在安装pyodbc之前包含g ++。

@Snympi是的,这就是为什么上面的命令包括apt-get install g++;)

非常感谢,你的答案适用于我的Debian GNU / Linux 9,但g ++可以忽略不计。

执行以下命令(在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

挣扎着同样的问题

运行后:

sudo apt-get install unixodbc-dev

我能够安装pyodbc

这对我来说在circlecis图像上使用python 3.7。

我已经多次引用这个问题,然后继续实际找到我在这里寻找的答案:

pyodbc wiki

To avoid gcc error on Ubuntu Linux, I did:

sudo aptitude install g++

I also installed the following 2 packages from Synaptic:

python-dev

tdsodbc

或者如果你在Ubuntu上:sudo apt-get install g++之后,我能够将安装到我的venv中。谢谢!

我在CentOS 5.5上遇到了同样的问题

除了安装unixODBC-devel之外,我还必须安装gcc-c ++

yum install gcc-c++

安装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

根据Ubuntu 18.04的官方微软文档,你应该运行下一个命令:

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

就我而言(亚马逊Linux AMI),以上都没有奏效。以下工作(来自这里的想法):

找到文件cc1plus的路径。对我来说,它是在/usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus。对你而言,它可能会有所不同。尝试ls -l /usr/libexec/gcc找到正确的目录名称并继续。

在路径中查找目录:echo $PATH(对我来说/s贪玩的奇异果:/贪玩的奇异果:/usr/s贪玩的奇异果:/usr/贪玩的奇异果:/opt/aws/贪玩的奇异果)

在PATH:sudo ln -s /PATH/TO/cc1plus /DIRinPATH/的其中一个目录中放置cc1plus的链接

例如在我的情况下:

sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/贪玩的奇异果/

我遇到了同样的问题。对于python3.6.8和ubuntu 16.04以上都没有帮助我。

sudo apt-get install python3.6-dev

这解决了我的问题。

如何从zip文件安装pyobdc?从如何使用pyODBC从Ubuntu连接到Microsoft Sql Server:

Download source vs apt-get

The apt-get utility in Ubuntu does have a version of pyODBC. (version 2.1.7).

However, it is badly out-of-date (2.1.7 vs 3.0.6) and may not work well with the newer versions of unixODBC and freetds.

This is especially important if you are trying to connect to later versions of Microsoft Sql Server (2008 onwards).

It is recommended that you use the latest versions of unixODBC, freetds and pyODBC when working with the latest Microsoft Sql Server instead of relying on packages in apt-get.

编译终止。错误:命令i686-linuxgnu-gccc失败,退出状态为1

警告:命令行选项-Wstrict-prototypes对c / Objc有效但对C ++无效[默认启用]

apt-get install aptitude aptitude install g ++ apt-get install python-dev python ./setup.py install

我需要所有这些,但我还需要安装python devel:

sudo yum install python-devel

我知道这是一个老问题,但维护者有一个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/贪玩的奇异果"' >> ~/.bash_profile

echo 'export PATH="$PATH:/opt/mssql-tools/贪玩的奇异果"' >> ~/.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

什么是这些之后的命令

嗨Shubham,对不起,我不明白你的问题。键入pip install pyodbc后,假设其他一切正常,您将同时安装驱动程序和软件包并且可用。您将"简单地使用"包,创建连接对象和光标,类似于对DB的任何其他编程访问。您可以查看他们的文档以获取示例。

非常感谢@mike,我解决了问题

@ShubhamSharma很酷,很高兴我能帮忙!

我用过这个:

yum install unixODBC.x86_64

根据centos的版本可能会更改包,您可以像这样搜索:

yum search unixodbc

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。