记录一次离线安装clickhouse-driver,解决报错问题-致命错误:Python.h

【场景】

服务器为Linux(无法连接互联网),需要部署Python运行环境访问Clickhouse数据库,已安装python3的环境;

一、安装过程

安装的时候依赖检测失败:

从网上找到对应的rpm包下载:

联网搜索相关依赖包rpm

python-srpm-macros

下载来源网站:https://pkgs.org/

点入进入获取下载链接后在Linux中使用命令下载:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-srpm-macros-3-34.el7.noarch.rpm

离线安装clickhouse-driver

这个离线安装的包是先通过一个在线Linux安装后再下载的包:

其中下载命令:python3 -m pip download -d \usr\local\packs -r requirements.txt

安装命令:python3 -m pip install --no-index --find-links=/usr/local/driver/clickhouse-driver-offline/packs -r requirements.txt

以下是下载的相关依赖包(rpm)

二、原始离线安装的报错日志

[root@szzx01 clickhouse-driver-offline]# python3 -m pip install --no-index --find-links=/usr/local/python_driver/clickhouse-driver-offline/packs -r requirements.txt

WARNING: Running pip install with root privileges is generally not a good idea. Try `__main__.py install --user` instead.

Requirement already satisfied: backports.zoneinfo==0.2.1 in /usr/local/lib64/python3.6/site-packages (from -r requirements.txt (line 1))

Collecting clickhouse-driver==0.2.5 (from -r requirements.txt (line 2))

Requirement already satisfied: importlib-resources==5.4.0 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 3))

Requirement already satisfied: pytz==2022.7.1 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 4))

Requirement already satisfied: pytz-deprecation-shim==0.1.0.post0 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 5))

Requirement already satisfied: tzdata==2022.7 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 6))

Requirement already satisfied: tzlocal==4.2 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 7))

Requirement already satisfied: zipp==3.6.0 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 8))

Installing collected packages: clickhouse-driver

Running setup.py install for clickhouse-driver ... error

Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qhvg_evo/clickhouse-driver/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-he5xpq81-record/install-record.txt --single-version-externally-managed --compile:

running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-3.6

creating build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/block.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/blockstreamprofileinfo.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/client.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/clientinfo.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/connection.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/context.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/defines.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/errors.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/log.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/opentelemetry.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/progress.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/protocol.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/queryprocessingstage.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/reader.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/readhelpers.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/result.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

copying clickhouse_driver/writer.py -> build/lib.linux-x86_64-3.6/clickhouse_driver

creating build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/arraycolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/base.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/boolcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/datecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/datetimecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/decimalcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/enumcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/exceptions.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/floatcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/intcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/intervalcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/ipcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/lowcardinalitycolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/mapcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/nestedcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/nothingcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/nullablecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/nullcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/service.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/simpleaggregatefunctioncolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/stringcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/tuplecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/util.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

copying clickhouse_driver/columns/uuidcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns

creating build/lib.linux-x86_64-3.6/clickhouse_driver/compression

copying clickhouse_driver/compression/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/compression

copying clickhouse_driver/compression/base.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/compression

copying clickhouse_driver/compression/lz4.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/compression

copying clickhouse_driver/compression/lz4hc.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/compression

copying clickhouse_driver/compression/zstd.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/compression

creating build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

copying clickhouse_driver/dbapi/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

copying clickhouse_driver/dbapi/connection.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

copying clickhouse_driver/dbapi/cursor.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

copying clickhouse_driver/dbapi/errors.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

copying clickhouse_driver/dbapi/extras.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/dbapi

creating build/lib.linux-x86_64-3.6/clickhouse_driver/numpy

copying clickhouse_driver/numpy/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/numpy

copying clickhouse_driver/numpy/block.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/numpy

copying clickhouse_driver/numpy/helpers.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/numpy

copying clickhouse_driver/numpy/result.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/numpy

creating build/lib.linux-x86_64-3.6/clickhouse_driver/settings

copying clickhouse_driver/settings/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/settings

copying clickhouse_driver/settings/available.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/settings

copying clickhouse_driver/settings/types.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/settings

copying clickhouse_driver/settings/writer.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/settings

creating build/lib.linux-x86_64-3.6/clickhouse_driver/streams

copying clickhouse_driver/streams/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/streams

copying clickhouse_driver/streams/compressed.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/streams

copying clickhouse_driver/streams/native.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/streams

creating build/lib.linux-x86_64-3.6/clickhouse_driver/util

copying clickhouse_driver/util/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/util

copying clickhouse_driver/util/compat.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/util

copying clickhouse_driver/util/escape.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/util

copying clickhouse_driver/util/helpers.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/util

creating build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/__init__.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/base.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/boolcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/datecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/datetimecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/floatcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/intcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/lowcardinalitycolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/service.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/stringcolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

copying clickhouse_driver/columns/numpy/tuplecolumn.py -> build/lib.linux-x86_64-3.6/clickhouse_driver/columns/numpy

running build_ext

building 'clickhouse_driver.bufferedreader' extension

creating build/temp.linux-x86_64-3.6

creating build/temp.linux-x86_64-3.6/clickhouse_driver

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python3.6m -c clickhouse_driver/bufferedreader.c -o build/temp.linux-x86_64-3.6/clickhouse_driver/bufferedreader.o

clickhouse_driver/bufferedreader.c:19:20: 致命错误:Python.h:没有那个文件或目录

#include "Python.h"

^

编译中断。

error: command 'gcc' failed with exit status 1

----------------------------------------

Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qhvg_evo/clickhouse-driver/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-he5xpq81-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-qhvg_evo/clickhouse-driver/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值