centos7安装plpython3u

centos7安装plpython3u

环境:
Centos7.4
Postgresql 10.3
Python 3.7.1rc1


一、安装Python
#登录root
#准备安装包: Python-3.7.1rc1.tgz
mkdir -p /app/install/python/
cd /app/install/python/
#上传安装包到/app/install/python/
#解压文件
tar zxvf Python-3.7.1rc1.tgz
cd /app/install/python/Python-3.7.1rc1/
./configure --prefix=/usr/local/bin/python3 --enable-shared
make && make install
#将python3.7改为默认的版本,删除当前软连接
rm -f /usr/bin/python
ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python
#查看
python -V

#添加python lib路径
echo /usr/local/bin/python3/lib > /etc/ld.so.conf.d/pythonlib.conf
/sbin/ldconfig
/sbin/ldconfig -v

 

#【恢复yum命令】(修改完python的默认版本后,yum命令无法再执行)
vi /usr/bin/yum
将文件第一行改为
#!/usr/bin/python2.7

vi /usr/libexec/urlgrabber-ext-down
将文件第一行改为
#! /usr/bin/python2.7
这样python3.7就安装在CentOS上,同时又能够使用yum来安装软件了。


【编译报错处理】
1.提示zipimport.ZipImportError: can’t decompress data; zlib not available
安装zlib
yum -y install zlib*

2.关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
安装libffi-devel
yum install libffi-devel -y
make install

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm

 

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

如果差control、sql等文件
cp /app/install/postgresql/postgresql-10.3/src/pl/plpython/plpython3u* /app/postgresql/postgresql-10.3/share/extension


su - postgres
psql eppmcp3 eppmcp3
create extension if not exists plpython3u;

创建测试函数
create or replace function f_b_testpy(
)
RETURNS varchar
as
$$
import socket
s = socket.gethostname()
print(s)
return s
$$
LANGUAGE plpython3u
;

 


【附】
查看依赖的方法
ldd plpython3.so

posted @ 2018-12-26 16:58  Jimmy90009i  阅读(1008)  评论(0编辑  收藏  举报