python2.7源码安装方式
安装python2.7
- 下载Python 2.7, 下载地址
- 解压安装
tar -xzvf Python-2.7.15.tgz
cd Python-2.7.15
./configure --prefix=/opt/local/python --enable-shared
make && make install
- 配置环境变量
vim ~/.bash_profile
编辑内容
PYHOME=/opt/local/python
export PATH=$PYHOME/bin:$PATH
导入变量
source ~/.bash_profile
- 查看版本号
python --version
- 安装setuptools
下载setuptools 安装包, 下载地址
tar -xzvf setuptools-39.2.0.tgz
cd setuptools-39.2.0
python setup.py install
- 安装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
参考文档
python2.7源码安装方式的更多相关文章
- Linux 中mysql安装(源码安装方式)
本文是介绍以源码安装的方式编译和安装Mysql 5.6(可以指定安装路径),也可以不采用源码安装方式,直接用安装包的方式. 源码安装方式慎用,容易报错. 1.卸载旧版本 rpm -qa | grep ...
- 关于nginx的源码安装方式
Nginx(engine x)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器, 也是一个 IMAP/POP3/SMTP 代理服务器.在高连接并发的情况下, ...
- Linux下源码安装方式安装MySQL
1.下载安装包:https://downloads.mysql.com/archives/community/ 2.安装开发工具和安装包 因为要把源码编译成二进制数据,所以必须要有编译器和解释器 g ...
- linux 中的./configuration --prefix=安装路径 的用法(指定源码安装方式的安装路基)
源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./con ...
- CentOS下二进制包/源码安装方式的MySQL卸载步骤
查看当前系统mysql 运行状态 [root@zendlinux ~]# ps -ef |grep mysql root 1153 1 0 15:40 ? 00:00:00 /bin/sh /usr/ ...
- 安装elasticsearch-head(源码安装方式)
gitHub 地址 https://github.com/mobz/elasticsearch-head 克隆到本地 进行npm 安装运行 git clone git://github.com/mob ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- Linux系统源码安装过程中的prefix选项
在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式.原因是:(1 ...
- Linux系统源码安装软件过程中configure选项-prefix的作用
在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件出了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式. 在linu ...
- Zabbix源码安装与yum安装
一.源码安装方式:zabbix-server LAMP环境准备: #groupadd zabbix#useradd -g zabbix zabbix 1.安装依赖包: #yum install gcc ...
随机推荐
- python的format方法中文字符输出问题
format方法的介绍 前言 提示:本文仅介绍format方法的使用和中文的输出向左右和居中输出问题 一.format方法的使用 format方法一般可以解决中文居中输出问题,假如我们设定宽度,当中文 ...
- 2023-2-22 增加产值冲减和EPC模块
应集团要求,现在已在综合信息管理系统中已增加以下信息,请大家注意,并及时转告业务人员: 1.[施工合同登记]模块增加必填字段"EPC建安费(万元)""EPC暂列费(万元) ...
- docker安装es和kibana,单机模式
操作系统:mac系统 1.安装es docker pull elasticsearch:7.14.0 docker run --name es -p 9200:9200 -p 9300:9300 -e ...
- 【Linux】详解Centos7的下载安装配置
本文时间 2023-05-17 作者:sugerqube漆瓷 为什么是Centos7 centos8已经停止维护,centos7将在2024-06-30停止维护(所以暂时选7) 未来替代品参考: Al ...
- 研究NIST FIPS 199 - 安全分类的标准
NIST FIPS 199 - 安全分类的标准 FIPS199是在2004年2月发布的,这是一份古老的文件,但在实施信息安全时应首先遵循,无论你准备遵守哪种安全标准.常见的安全标准有:CIS.ISO2 ...
- Kubernetes GoRoutineMap工具包代码详解
1.概述 GoRoutineMap 定义了一种类型,可以运行具有名称的 goroutine 并跟踪它们的状态.它防止创建具有相同名称的多个goroutine,并且在上一个具有该名称的 goroutin ...
- wireshark分析tcp传输之文件上传速率问题
在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段. 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢 ...
- SQL生成序号的四种方式
排名函数是SQL SERVER2005新增的函数.排名函数总共有四种,分别是:row_number.rank. dense_rank .ntile. row_number:顺序生成序号. rank:相 ...
- 2023-06-09:什么是Redis事务?原理是什么?
2023-06-09:什么是Redis事务?原理是什么? 答案2023-06-09: Redis中的事务是以一组命令的形式出现的,这些命令被认为是最小的执行单位.事务可以保证在一个单独独立的隔离操作中 ...
- 「AntV」L7地理可视化:从入门到实践
1. 前言 这是一篇由浅入深的AntV L7的学习笔记总结,记述了从了解到使用的一些过程 本文所使用的数据(包括数据处理过程)和代码均有详细描述,所有案例均可复现,甚至大部分代码可直接使用 如果喜欢分 ...