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
参考文档
作者: 美码师(zale)
出处: http://www.cnblogs.com/littleatp/, 如果喜欢我的文章,请关注我的公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 如有问题, 可留言咨询.