Songqian Li's Blog

去历史上留点故事

CentOS6 中自带的 yum 依赖的 python 版本是 2.6.6 版本,而 python core team 已不再提供支持,且 pip 至少要求 2.7 版本,因此系统上应该有 2.6,2.7 两个版本的 python 并存。

一. python2.6 及 yum 安装(仅供 yum 出问题用户使用)

查看 Linux 发行版

1
lsb_release -a

卸载 Python

1
2
rpm -qa|grep python|xargs rpm -e --allmatches --nodeps
whereis python|xargs rm -fr

卸载 yum

1
2
3
rpm -qa|grep yum|xargs rpm -e --allmatches --nodeps
rm -rf /etc/yum.repos.d/*
whereis yum|xargs rm -fr

创建 python 目录

1
mkdir /usr/local/src/python

下载 python 的 rpm 包

1
2
3
4
5
6
7
8
9
cd /usr/local/src/python

wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-2.6.6-66.el6_8.x86_64.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-pycurl-7.19.0-9.el6.x86_64.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-devel-2.6.6-66.el6_8.x86_64.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-libs-2.6.6-66.el6_8.x86_64.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/rpm-python-4.8.0-59.el6.x86_64.rpm

安装 python

1
2
cd /usr/local/src/python
rpm -ivh python-* rpm-python-* #--nodeps --force为不考虑依赖包,强制安装

创建 yum 目录

1
mkdir /usr/local/src/yum

下载 yum 的 rpm 包

1
2
3
4
5
cd /usr/local/src/yum

wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm

安装 yum

1
2
cd /usr/local/src/yum
rpm -ivh yum-*

更新 yum 源

1
2
3
4
5
6
7
cd /etc/yum.repos.d/

//更新为阿里云的源 二选一
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

//更新为163的源
wget -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

生成 yum 缓存

1
2
3
yum clean all
yum update
yum makecache

二 安装 python2.7

配置环境

1
2
3
yum -y update
yum groupinstall 'Development Tools'
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

安装 python

python 最新版本下载地址:https://www.python.org/downloads/

1
2
3
4
5
6
7
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar -zxvf Python-2.7.15.tgz
cd Python-2.7.15
./configure --prefix=/usr/local
make all
make altinstall
make clean

创建软连接

1
ln -s /usr/local/bin/python2.7 /usr/bin/python

修改 yum

1
vi /usr/bin/yum

将第一行  #!/usr/bin/python   改为 #!/usr/bin/python2.6

安装 setuptools

1
2
3
4
wget https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip
unzip setuptools-41.0.1.zip
cd setuptools-41.0.1
python setup.py install

安装 pip

1
2
3
4
wget https://files.pythonhosted.org/packages/51/5f/802a04274843f634469ef299fcd273de4438386deb7b8681dd059f0ee3b7/pip-19.1.tar.gz
tar -xvf pip-19.1.tar.gz
cd pip-19.1
python setup.py install

修改 pip

1
2
3
  File "/usr/bin/pip", line 7, in <module>
from pip import main
ImportError: cannot import name main

更新 pip

1
vi /usr/bin/pip

from pip import main改为from pip import __main__,

sys.exit(_main())改为sys.exit(__main__._main())

最终得到:

1
2
3
4
5
6
7
#!/usr/bin/python

import sys
from pip import __main__

if __name__ == '__main__':
sys.exit(__main__._main())

三. 宝塔面板相关问题

出现您请求的页面因发生异常而中断!,按照下述处理:

宝塔日志

1
cat /tmp/panelBoot.pl

宝塔需要的启动环境

1
2
pip install psutil
pip install web.py

挂载硬盘

1
2
fdisk -l # 查看硬盘信息
mount /dev/vdb5 /storage

定时任务需要的 python 环境

1
pip install mysql-python

启动 xxl 定时任务

1
2
3
cd /storage/admin.lisongqian.cn
java -jar xxl-job-admin-2.0.1.jar &
java -jar xxl-job-executor-sample-springboot-2.0.1.jar &
相关文章
评论
分享
  • 语雀文档自动同步到hexo博客

    前提 阅读本文之前,需要已经正常搭建好 hexo 博客和语雀账号。 同时我们需要准备: 一个 GitHub 账号 一个腾讯云账号 hexo 安装了 yuque-hexo 插件且能正常运行 实现思路: 利用语雀的webhook触...

    语雀文档自动同步到hexo博客
  • Chrome自动将http切换为https

    原因 新版的 Chrome 已经默认实行强制 https 策略了,访问网页中 src 资源时中自动由 http 转为 https,但如果引用的资源无法通过 SSL 访问,Chrome 浏览器会阻断这个资源,就导致了多媒体播放失败,外...

    Chrome自动将http切换为https
  • Jetbrains快捷键

    代码整体向后缩进 选中多行代码 - 按下 Tab 代码整体向前缩进 选中多行代码 - 按下 Shift + Tab 查找下一条代码差异 F7 查找上一条代码差异 Shift + F7

    Jetbrains快捷键
  • 小知识

    Nginx 跨域(不安全,但快捷) 123add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Headers X-Requested-Wi...

    小知识
  • iCloud同步新版Edge书签

    现在 edge 和 ICloud 同步已经原生支持,最新:win10 的 edge、Chrome 如何让书签与 Safari 双向同步? 注意手机需要在 iCloud 中打开同步 Safari 浏览器 旧方法: 打开注册表编辑器,定...

    iCloud同步新版Edge书签
  • FRP-windows客户端配置

    准备 frp 客户端文件,包括:frp 客户端,winsw 局域网内可远程连接的 Windows 计算机 开始 修改客户端配置 打开 frpc.ini 文件,将文件按照需求更改如下: 123456789101112131415...

    FRP-windows客户端配置
  • CentOS下安装Redis

    准备 CentOS Linux release 7.2 gcc 编译器 yum install gcc-c++ TCL yum install -y tcl redis 安装包 4.0.8 版本 安装 下载 redis 安装...

    CentOS下安装Redis
  • AMD的CUDA--ROCm配置

    目前 ROCm 已支持 TensorFlow 和 Pytorch,无需自行编译: https://www.amd.com/en/technologies/infinity-hub/pytorch https://www.amd.com...

    AMD的CUDA--ROCm配置
  • 为什么Proactor比Reactor模式更优?

    首先,我们先了解一下什么是 Reactor 模式和 Proactor 模式。 什么是 Reactor 模式和 Proactor 模式? Reactor 模式 Reactor 模式是指主线程负责监听和分发事件,工作线程负责 I/O ...

    为什么Proactor比Reactor模式更优?
  • 《操作系统真象还原》:第十章 输入输出系统

    上一章中我们遇到的字符混乱和 GP 异常问题,根本原因是由于临界区代码的资源竞争,这需要一些互斥的方法来保证操作的原子性。 10.1 同步机制——锁 10.1.1 排查 GP 异常,理解原子操作 多线程执行刷屏时光标值越界导致...

    《操作系统真象还原》:第十章 输入输出系统