python2.7源码安装方式

安装python2.7

  1. 下载Python 2.7, 下载地址
  2. 解压安装
tar -xzvf Python-2.7.15.tgz
cd Python-2.7.15

./configure --prefix=/opt/local/python --enable-shared
make && make install
  1. 配置环境变量
vim ~/.bash_profile

编辑内容

PYHOME=/opt/local/python
export PATH=$PYHOME/bin:$PATH

导入变量

source ~/.bash_profile
  1. 查看版本号
python --version
  1. 安装setuptools

下载setuptools 安装包, 下载地址

tar -xzvf setuptools-39.2.0.tgz
cd setuptools-39.2.0
python setup.py install
  1. 安装pip
    下载pip 安装包, 下载地址
tar -xzvf pip-10.0.1.tgz
cd pip-10.0.1
python setup.py install

FAQ

提示readline找不到

报错信息

Python 2.7.15 (default, May 29 2018, 13:09:02)
[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "/etc/pythonstart", line 7, in <module>
    import readline
ImportError: No module named readline

解决方法
安装readline,从pipy网站下载源码

tar -xzvf readline-6.2.4.1.tgz
cd readline-6.2.4.1
python setup.py install

执行python setup.py 提示md5找不到

报错信息

kwe1000570040:/opt/local/soft/python/setuptools-39.2.0 # python setup.py install
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/opt/local/python/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/local/python/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.

解决方法
该错误是由于python找不到openssl导致,如果openssl安装位置有变化可能会导致该问题。
python2.7依赖于openssl_1.0.0,需要下载源码安装:

wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
tar -xzvf openssl-1.0.2o
cd openssl-1.0.2o
./config shared 
make && make install

openssl默认会安装到 /usr/local/ssl目录中,其中lib目录存放了libssl.so.1.0.0动态链接库。
接下来是将lib目录添加到ldconfig路径:

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig

再次执行python程序,问题解决。


如果希望更改openssl的安装路径,可以执行prefix参数(安装目录)、openssldir参数(配置、证书路径)

./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

更多参数可参考这里

提示libpython2.7.so.1.0 找不到

在import 某些库的时候报错:

ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解决方法
需要让ldconfig找到libpython动态链接库

echo "/opt/local/python/lib" >> /etc/ld.so.conf
ldconfig

参考文档

linux ldconfig配置
openssl安装

posted @   美码师  阅读(3310)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示