linux上离线安装bcp,无法在Linux上安装Pyodbc
無法在Linux上安裝Pyodbc
83
我正在運行Linux(2.6.18-164.15.1.el5.centos.plus),并嘗試安裝pyodbc。我正在做pip install pyodbc并得到很長的錯誤列表,這些錯誤以
錯誤:命令“ gcc”失敗,退出狀態(tài)為1
我查看了 /root/.pip/pip.log,看到了以下內(nèi)容:
InstallationError:命令/ usr / local / bin / python -c“ import setuptools; file ='/ home / build / pyodbc / setup.py'; execfile('/ home / build / pyodbc / setup.py')”安裝- -單一版本-外部管理的--record /tmp/pip-7MS9Vu-record/install-record.txt失敗,錯誤代碼為1
安裝pyodbc是否有人遇到類似問題?
Answers:
155
在Ubuntu上,您需要安裝unixodbc-dev:
sudo apt-get install unixodbc-dev
使用以下命令安裝pip:
sudo apt-get install python-pip
一旦安裝,您應(yīng)該能夠成功安裝pyodbc:
pip install pyodbc
在此之前,我還需要安裝python-devel。
是的!!!這是我使用的第五種解決方案,并且有效了,謝謝:)
可行!我收到一個錯誤“找不到包”,但是先運行sudo apt-get update修復(fù)了它。
1
對于Ubuntu上的python 3.7,還需要運行sudo apt-get install python3.7-dev
57
我通過遵循有關(guān)pyodbc的正確指導(dǎo)來解決我的問題-Building Wiki指出:
在Linux上,pyodbc通常是使用unixODBC標(biāo)頭構(gòu)建的,因此您將需要安裝unixODBC及其標(biāo)頭。在RedHat / CentOS / Fedora框上,這意味著您需要安裝unixODBC-devel:
yum install unixODBC-devel
它對我來說失敗... SyntaxError:語法無效的文件“ / usr / libexec / urlgrabber-ext-down”,除OSError外,第28行,e:^ SyntaxError:無效語法用戶取消時退出
@famargar您升級了Linux發(fā)行版嗎?
我正在使用Centos 7和Linux 3.10.0-957.5.1.el7.x86_64。他們是否知道pyodbc有問題?
17
在這個問題上再添加一個答案。對于Linux Debian Stretch版本,您需要安裝以下依賴項:
apt-get update
apt-get install g++
apt-get install unixodbc-dev
pip install pyodbc
在Debian Slim映像上,我需要先包含g ++,然后才能安裝pyodbc。
@Snympi Yep,這就是上面的命令包括apt-get install g++;)的原因
1
非常感謝,您的回答在我的Debian GNU / Linux 9上有效,但是g ++可以忽略不計。
15
請按照以下步驟在任何Redhat版本中安裝Pyodbc
yum install unixODBC unixODBC-devel
yum install gcc-c++
yum install python-devel
pip install pyodbc
10
遇到同樣的問題
運行后:
sudo apt-get install unixodbc-dev
我能夠點子安裝pyodbc
這對我在Circleci圖像上使用Python 3.7起作用。
8
執(zhí)行以下命令(在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
6
我已經(jīng)多次參考了這個問題,然后繼續(xù)在這里找到我一直在尋找的答案:
pyodbc Wiki
為了避免在Ubuntu Linux上出現(xiàn)gcc錯誤,我這樣做了:
sudo aptitude install g++
我還從Synaptic安裝了以下2個軟件包:
python開發(fā)
tdsodbc
或者,如果您使用的是Ubuntu:sudo apt-get install g++之后,我可以將安裝點播到venv中。謝謝!
3
我在CentOS 5.5上遇到了同樣的問題
除了安裝unixODBC-devel外,我還必須安裝gcc-c ++
yum install gcc-c++
3
安裝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
3
根據(jù)針對Ubuntu 18.04的官方Microsoft文檔,您應(yīng)該運行以下命令:
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,請務(wù)必執(zhí)行以下操作:
sudo apt-get install python3.7-dev
1
我需要所有這些,但是我還需要安裝python devel:
sudo yum install python-devel
1
下載源vs apt-get
Ubuntu中的apt-get實用程序確實具有pyODBC版本。(版本2.1.7)。
但是,它已經(jīng)過時(2.1.7與3.0.6),并且可能無法與較新版本的unixODBC和freetds一起正常使用。
如果您嘗試連接到更高版本的Microsoft Sql Server(2008以后),則這一點尤其重要。
建議您在使用最新的Microsoft Sql Server時使用最新版本的unixODBC,freetds和pyODBC,而不要依賴apt-get中的軟件包。
1
編譯終止。錯誤:命令'i686-linuxgnu-gccc'失敗,退出狀態(tài)為1
警告:命令行選項?-Wstrict-prototypes對c / Objc有效,但對C ++無效[默認(rèn)啟用]
apt-get install aptitude aptitude install g ++ apt-get install python-dev python ./setup.py install
1
我知道這是一個老問題,但是維護者有一個pyodbcGitHub Repo。
在我看來,遵循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
嗨,Shubham,對不起,我不明白你的問題。鍵入之后pip install pyodbc,假設(shè)其他一切正常,您將同時安裝驅(qū)動程序和軟件包并可用。您將“簡單地使用”該程序包,從而創(chuàng)建連接對象和游標(biāo),類似于對數(shù)據(jù)庫的任何其他編程訪問。您可以查看其文檔以獲取示例。
1
我面臨著同樣的問題。對于python3.6.8和ubuntu 16.04,以上內(nèi)容都沒有幫助我。
sudo apt-get install python3.6-dev
這解決了我的問題。
1
在我的情況下(Amazon Linux AMI),以上方法均無效。以下工作(從這里開始的想法):
找到文件的路徑cc1plus。對我來說是/usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus。對于您來說,可能會有所不同。嘗試ls -l /usr/libexec/gcc找到正確的目錄名稱,然后繼續(xù)。
在您的路徑中查找目錄:(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/
1
對于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
0
我用這個:
yum install unixODBC.x86_64
根據(jù)centos的版本可能會更改軟件包,您可以像這樣進行搜索:
yum search unixodbc
0
從這些2級的命令這里在RHEL為我工作8
sudo dnf install redhat-rpm-config gcc-c++ python3-devel unixODBC-devel
pip3 install --user pyodbc
總結(jié)
以上是生活随笔為你收集整理的linux上离线安装bcp,无法在Linux上安装Pyodbc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux qt 更新,Qt 5.15
- 下一篇: c语言知道坐标求线段长度,C语言编写程序