Aarch64安装使用psycopg2
官方推荐安装psycopg2时候使用psycopg2-binray2.8.6 模块进行安装
测试环境:aarch64 + contos7.8 + python3.8 + psycopg2-binray2.8.6
1、安装python,我已安装,安装教程参考:Centos7 编码编译python3.8
2、安装所需要的依赖模块
yum install -y postgresql postgresql-devel python3-devel
3、安装
[root@ecs-arm-wangdapeng python381]# ./bin/pip3 install psycopg2-binary
记录下通过mv修改wheel文件重命名的方式,但是这种方式不可行。
由于aarch64在下载psycopg2-binray2.8.6 模块时候没有libs依赖包,x86是有libs包的,所以手动去安装。
模块下载地址:https://pypi.org/project/psycopg2-binary/#files ----- psycopg2_binary-2.8.6-cp38-cp38-manylinux1_x86_64.whl
manylinux1_x86_64:下载会生成psycopg2_binary.libs文件夹
win_amd64.whl :libs文件夹会在psycopg2里面,.so会上个少。区别是libs存储位置和操作系统,我建议还是使用manylinux1
所以aarch64(非官方存在的whl)安装一点也不酷。
测试过程:
在x86平台,安装了python,配置环境变量,pip install psycopg2-binary后
[root@baidu1 python381]# ldd lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-x86_64-linux-gnu.so linux-vdso.so.1 => (0x00007ffc9d7fe000)libpq-0929ced5.so.5.11 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libpq-0929ced5.so.5.11 (0x00007f7cdbd52000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7cdbb36000)libc.so.6 => /lib64/libc.so.6 (0x00007f7cdb768000)libssl-dbe77c63.so.1.1.1g => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libssl-dbe77c63.so.1.1.1g (0x00007f7cdb4c6000)libcrypto-e62d380e.so.1.1.1g => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libcrypto-e62d380e.so.1.1.1g (0x00007f7cdafaa000)libgssapi_krb5-174f8956.so.2.2 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libgssapi_krb5-174f8956.so.2.2 (0x00007f7cdad6f000)libldap_r-2-9bd554ba.4.so.2.10.13 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libldap_r-2-9bd554ba.4.so.2.10.13 (0x00007f7cdab04000)/lib64/ld-linux-x86-64.so.2 (0x00007f7cdc1ec000)libz-a147dcb0.so.1.2.3 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libz-a147dcb0.so.1.2.3 (0x00007f7cda8ef000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f7cda6eb000)libkrb5-fb0d2caa.so.3.3 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libkrb5-fb0d2caa.so.3.3 (0x00007f7cda437000)libk5crypto-622ef25b.so.3.1 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libk5crypto-622ef25b.so.3.1 (0x00007f7cda20e000)libcom_err-beb60336.so.2.1 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libcom_err-beb60336.so.2.1 (0x00007f7cda00b000)libkrb5support-d7ce89d4.so.0.1 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libkrb5support-d7ce89d4.so.0.1 (0x00007f7cd9e00000)libkeyutils-1-ff31573b.2.so => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libkeyutils-1-ff31573b.2.so (0x00007f7cd9bfd000)libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7cd99e3000)liblber-2-d5725c47.4.so.2.10.13 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/liblber-2-d5725c47.4.so.2.10.13 (0x00007f7cd97d4000)libsasl2-6f25e95f.so.3.0.0 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libsasl2-6f25e95f.so.3.0.0 (0x00007f7cd95b2000)libselinux-cf8f9094.so.1 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libselinux-cf8f9094.so.1 (0x00007f7cd9396000)libsepol-b4f5b513.so.1 => /usr/local/python381/lib/python3.8/site-packages/psycopg2/../psycopg2_binary.libs/libsepol-b4f5b513.so.1 (0x00007f7cd914e000)
[root@baidu1 python381]# ldd lib/python3.8/site-packages/psycopg2
[root@baidu1 python381]# ./bin/python3
Python 3.8.1 (default, Dec 16 2020, 15:29:31)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
这个机器并没有安装pg和ptyhon3-devel等模块包,但是依然可以正常使用,说明psycopg2内置了这些.so依赖包。
但是,在aarch64却不是这样,如果你不去yum install postgresql postgresql-devel python3-devel,他就会报错。
[root@ecs-arm-wangdapeng python381]# ./bin/pip3 install psycopg2-binary
Collecting psycopg2-binaryUsing cached https://files.pythonhosted.org/packages/fc/51/0f2c6aec5c59e5640f507b59567f63b9d73a9317898810b4db311da32dfc/psycopg2-binary-2.8.6.tar.gzERROR: Command errored out with exit status 1:command: /opt/python381/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ndhc4kg3/psycopg2-binary/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ndhc4kg3/psycopg2-binary/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-infocwd: /tmp/pip-install-ndhc4kg3/psycopg2-binary/Complete output (23 lines):running egg_infocreating pip-egg-info/psycopg2_binary.egg-infowriting pip-egg-info/psycopg2_binary.egg-info/PKG-INFOwriting dependency_links to pip-egg-info/psycopg2_binary.egg-info/dependency_links.txtwriting top-level names to pip-egg-info/psycopg2_binary.egg-info/top_level.txtwriting manifest file 'pip-egg-info/psycopg2_binary.egg-info/SOURCES.txt'Error: pg_config executable not found.
官方给的解释是,目前为止,aarch64的wheel还正在进行,并未部署。
#这是yum install postgresql postgresql-devel python3-devel后
[root@ecs-arm-wangdapeng python381]# ./bin/pip3 install psycopg2-binary
Collecting psycopg2-binaryUsing cached https://files.pythonhosted.org/packages/fc/51/0f2c6aec5c59e5640f507b59567f63b9d73a9317898810b4db311da32dfc/psycopg2-binary-2.8.6.tar.gz
Installing collected packages: psycopg2-binaryRunning setup.py install for psycopg2-binary ... done
Successfully installed psycopg2-binary-2.8.6
WARNING: You are using pip version 19.2.3, however version 20.3.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[root@ecs-arm-wangdapeng python381]#
[root@ecs-arm-wangdapeng psycopg2]# ldd _psycopg.cpython-38-aarch64-linux-gnu.so linux-vdso.so.1 (0x0000ffff8c6d0000)libpq.so.5 => /usr/lib64/libpq.so.5 (0x0000ffff8c5f0000)libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000ffff8c5b0000)libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff8c430000)libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x0000ffff8c380000)libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x0000ffff8c0c0000)libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000ffff8c050000)libldap_r-2.4.so.2 => /usr/lib64/libldap_r-2.4.so.2 (0x0000ffff8bfd0000)/lib/ld-linux-aarch64.so.1 (0x0000ffff8c6e0000)libz.so.1 => /usr/lib64/libz.so.1 (0x0000ffff8bf90000)libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000ffff8bf60000)libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000ffff8be50000)libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000ffff8be10000)libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x0000ffff8bde0000)libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x0000ffff8bdb0000)libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x0000ffff8bd80000)libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x0000ffff8bd40000)liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x0000ffff8bd10000)libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x0000ffff8bcd0000)libselinux.so.1 => /usr/lib64/libselinux.so.1 (0x0000ffff8bc80000)libcrypt.so.1 => /usr/lib64/libcrypt.so.1 (0x0000ffff8bc40000)libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x0000ffff8bba0000)
Using cached 下载地址与py资源库地址完全吻合https://pypi.org/project/psycopg2-binary/#files,说明他是通过的源码编译的方式。
总结:如果在aarch64上想使用离线版的psycopg2-binary.so,那么需要把这些依赖全部拷贝过去,需要小心的是,每个机器的依赖模块的名称会不同
Aarch64安装使用psycopg2相关推荐
- 树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案
树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案 最终可行方案 试了一堆方案(源码编译.Fast.ai的安装文件等)之后,终于找到一个可行的方案.是在 PyTorch 官方讨论社 ...
- aarch64安装numba
numba在aarch64上安装方法: 1.安装LLVM: wget https://github.com/llvm/llvm-project/releases/download/llvmorg-10 ...
- aarch64安装mysql_Linux安装MySQL
Linux安装MySQL 1. MySQL安装包下载 根据Linux版本选择相对应安装包下载 2. 创建安装目录 mkdir /usr/local/mysql 把下载的安装包存放该目录 3. 解压安装 ...
- 【jetson nano】 aarch64安装pycharm pytorch cuda
sudo vi ~/.bashrc 编辑环境变量 source ./profile 编译 sudo mv jdk1.8.0_281 /usr/local/java/ 先记录过程,目前还有问题待解决. ...
- psycopg2模块安装问题
我的平台是win10(x64).python3.7,打算通过psycopg2模块来操作Greenplum数据库,我通过pip install psycopg2 安装了psycopg2模块,也提示安装成 ...
- mac安装psycopg2报错
您可以使用以下步骤在 Mac 上的 python3.8 中下载并安装 psycopg2: 打开终端并运行以下命令: pip3 install psycopg2-binary 上面的命令将安装最新版本的 ...
- linux psycopg2,[Linux][Python][psycopg2]脱机安装问题,LinuxPythonpsycopg2,离线
[Linux] [Python] [psycopg2]离线安装问题 1.安装psycopg2需要安装依赖 本案例的操作系统为linux red hat 在安装python依赖包psycopg之前,你必 ...
- Python 包安装和 postgresql 的一些问题
今天安装 hgvs 这个 python 包的时候,遇到几个比较有代表性的问题,记录分享一下. hgvs is a Python package to parse, format, validate, ...
- [运维] linux上安装libvirt
说明 安装libvirt时会自动安装KVM虚拟机 deepin系统 系统环境说明 系统:Deepin V20 社区版(1003) 平台:amd64 安装 安装libvirt服务端 sudo apt i ...
最新文章
- 在使用stl中的ifstream出错时如何快速排错?
- word自动消除html标签,清理Word生成HTML的冗余;清理与清除HTML标签
- java 传 复合类型对象_struts复合类型传值(对象传值)
- numpy.negative详解
- 为什么静态成员、静态方法中不能用this和super关键字
- 抖音gorgon算法04php,抖音xgorgon(0401)获取方法及演示
- linux ps2键盘驱动,通用键盘鼠标模拟(包括USB和PS2)
- css3 animation动画事件
- Python3.x中数据随机重排基本方法
- JavaScript事件触发列表与解说
- 使用 WebSphere eXtreme Scale 处理事件流
- 【Unity】U3D TD游戏制作实例(五)防御塔设计:对象排序、锁定敌人、攻击敌人、防御塔特色功能实现
- WorkNC3D沿面精加工快速修圆小技巧
- 无社交,不创业:2017松松兄弟上海聚会剧透
- Hbase java API操作(模板代码)
- zabbix的psk加密结合zabbix_get取值
- 协同学:大自然构造的奥秘--哈肯-2
- 指尖江湖李忘生鸿蒙初开,剑网3指尖江湖李忘生技能搭配攻略
- 愿你历经千帆,得偿所愿
- Linux(12)Debain系统安装远程控制软件