编译可移植的python

1. 在低版本系统机器上,编译python:
  cd  Python-2.7.15/Modules
  vim Setup.dist
  修改下述代码:
  ###########
sed -i 's/#SSL=\/usr\/local\/ssl/SSL=\/usr\/local\/ansible_python\/openssl_for_python/g' Modules/Setup.dist
sed -i 's/#_ssl _ssl.c/_ssl _ssl.c/g' Modules/Setup.dist
sed -i 's/#\t-DUSE_SSL/\t-DUSE_SSL/g' Modules/Setup.dist
sed -i 's/#\t-L$(SSL)/\t-L$(SSL)/g' Modules/Setup.dist
sed -i 's/#_md5 md5module.c md5.c/_md5 md5module.c md5.c/g' Modules/Setup.dist
sed -i 's/#zlib zlibmodule.c/zlib zlibmodule.c/g' Modules/Setup.dist
sed -i 's/#binascii binascii.c/binascii binascii.c/g' Modules/Setup.dist
sed -i 's/#_sha1 sha1module.c/_sha1 sha1module.c/g' Modules/Setup.dist
sed -i 's/#_sha256 sha256module.c/_sha256 sha256module.c/g' Modules/Setup.dist
sed -i 's/#_sha512 sha512module.c/_sha512 sha512module.c/g' Modules/Setup.dist
############
2. 指定openssl库
  编译新的openssl库
  cd  openssl-1.0.2o
  ./configure  --prefix=/usr/local/ansible_python/openssl_for_python
  make
  make install
3. 由于python编译的时候需要去/usr/local/ssl/目录下寻找openssl库(具体可看setup.py),所以需要创建新编译openssl的软链接
  ln  -s  /usr/local/ansible_python/openssl_for_python  /usr/local/ssl
4. cd Python-2.7.15
  ./configure  –prefix=/usr/local/ansible_python/python
  make
  make install
  安装完成后,可以安装anshible等模块,方便移植
5. 将自己编译的openssl库放进系统共享库
   echo  “/usr/local/ansible_python/openssl_for_ansible/lib” >> /etc/ld.so.conf.d/ansible.conf
ldconfig
6. 压缩编译好的python和openssl,以便于移植 tar -cvjf ansible_python.tar.bz2 ansible_python 7. 将压缩包拷贝到新机器上/tmp目录后,解压 /tmp/ansible_python.tar.bz2 tar -xvjf /tmp/ansible_python.tar.bz2 得到 /tmp/ansible_python 8. 拷贝文件 cp -r /tmp/ansible_python /usr/local/ 9. 修改权限,使普通用户具有执行权限 chown -R ops:ops /usr/local/ansible_python/openssl_for_ansible/ chmod 755 /usr/local/ansible_python/python/bin/* 10. 创建指定的ssl库的软链 ln -s /usr/local/ansible_python/openssl_for_ansible/ /usr/local/ssl 11. 将指定的ssl库添加到系统共享库 echo “/usr/local/ansible_python/openssl_for_ansible/lib” >> /etc/ld.so.conf.d/ansible.conf 12. 执行命令 ldconfig 13. 此时新python已经可以使用 /usr/local/ansible_python/python/bin/python

 

转载于:https://www.cnblogs.com/wt11/p/9437784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值