Up in the Air!
在云端
Home
Categories
Archives
Tags
About
Home
CentOS 6 x86_64 安装Python2.7.15
CentOS 6 x86_64 安装Python2.7.15
取消
CentOS 6 x86_64 安装Python2.7.15
由
aoeII
发布于 2017-06-28
·
最后更新:2018-08-25
720
本文转载自 秋水逸冰 > 技术 > [CentOS 6.9安装Python2.7.15](https://teddysun.com/473.html),并进行了适当的修改,介绍了如何在CentOS 6.x上安装Python2.7.15。 欢迎转载,转载请保留秋水逸冰的原文链接。 ---------- 查看当前系统中的 Python 版本 python --version 返回 Python 2.6.6 为正常。 检查 CentOS 版本 cat /etc/redhat-release 返回 CentOS release 6.x (Final) 为正常。 导出目前系统里安装的python模块包 pip list > py26_pip_list.log 安装所有的开发工具包 yum groupinstall -y "Development tools" 安装其它的必需包 yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 下载、编译和安装 Python 2.7.15 wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz tar zxf Python-2.7.15.tgz cd Python-2.7.15 ./configure make && make install 默认 Python 2.7.15 会安装在 /usr/local/bin 目录下。 ll -tr /usr/local/bin/python* > /usr/local/bin/python2.7 /usr/local/bin/python2.7-config > /usr/local/bin/python -> python2 /usr/local/bin/python2 -> python2.7 > /usr/local/bin/python2-config -> python2.7-config > /usr/local/bin/python-config -> python2-config 而系统自带的 Python 是在 /usr/bin 目录下。 ll -tr /usr/bin/python* > /usr/bin/python2.6-config /usr/bin/python2.6 /usr/bin/python > /usr/bin/python2 -> python /usr/bin/python-config -> python2.6-config 更新系统默认 Python 版本 先把系统默认的旧版 Python 重命名。 mv /usr/bin/python /usr/bin/python.old 再删除系统默认的 python-config 软链接。 rm -f /usr/bin/python-config 最后创建新版本的 Python 软链接。 ln -s /usr/local/bin/python /usr/bin/python ln -s /usr/local/bin/python-config /usr/bin/python-config ln -s /usr/local/include/python2.7/ /usr/include/python2.7 以上步骤做完以后,目录 /usr/bin 下的 Python 应该是 ll -tr /usr/bin/python* > /usr/bin/python2.6-config /usr/bin/python2.6 /usr/bin/python.old > /usr/bin/python2 -> python /usr/bin/python -> /usr/local/bin/python > /usr/bin/python-config -> /usr/local/bin/python-config 查看新的 Python 版本 python --version 返回 Python 2.7.15 为正常。 以下步骤还是有必要的 为新版 Python 安装 setuptools wget https://bootstrap.pypa.io/ez_setup.py -O - | python setuptools 正确安装完成后,easy_install 命令就会被安装在 `/usr/local/bin` 目录下了。 为新版 Python 安装 pip easy_install pip 正确安装完成后,pip 命令就会被安装在 `/usr/local/bin` 目录下了。 注意:这可能会导致以前安装过的 Python 程序运行不了或者无法重启之类的(比如著名的 Shadowsocks Python 版)。原因是旧版的 pkg_resources 位于 `/usr/lib/python2.6/site-packages` 下。而新版的则是在 `/usr/local/lib/python2.7/site-packages` 下。 所以,也许你需要重新安装一下程序。 再次注意:升级 Python 可能会导致 yum 命令不可用。解决方法如下: 编辑 /usr/bin/yum 文件,将开头第一行的 #!/usr/bin/python 改为 #!/usr/bin/python2.6 但是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。 所以,经过我的不懈琢磨和努力,发现了一个办法(网上的解决方案都是抄来抄去,没有一点卵用)。 记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,不存在的我们就去旧版本的路径下找,一定能找到的。找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下即可。 /usr/lib/python2.6/site-packages/ /usr/lib64/python2.6/site-packages/ 我的复制过程是这样的: cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/ cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/ cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/ cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/ cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/ cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/ cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/ cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/ cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/ cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/ cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/ 查看python2.7的模块包 pip list > py27_pip_list.log 比较 py27_pip_list.log 和之前保存的 py26_pip_list.log,找出缺少的包,然后为新版 Python 安装 distribute 包 pip install distribute 例如 pip install sqlalchemy 至此,新版 Python 即算安装完毕了。 ---------- **更新:为python 2.7中安装mysql模块包** 此更新转载自其他技术blog,具体出处已不详,在此表示感谢。 CentOS 6升级到python 2.7以后最常见的问题就是导入mysql模块报错 出错如下所示: python > Python 2.7.11 (default, Apr 5 2016, 12:24:31) > [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import MySQLdb > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ImportError: No module named MySQLdb 检查MySQL-python安装包: rpm -qa MySQL-python 如果返回 > MySQL-python-1.2.5-1.el7.x86_64 表示已经安装 如果提示没有安装,请先安装MySQL-python yum install -y MySQL-python 这个时候再次执行 pip install mysql-python 一般来说就已经安装好了。 > Requirement already satisfied: mysql-python in /usr/lib64/python2.7/site-packages (1.2.5) 如果在系统中已经安装了Mysql-python的包,但是依然不能导入。 安装`mysql-python`模块: pip install mysql-python > error: command 'gcc' failed with exit status 1 > > ---------------------------------------- > Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-OcAYDJ/mysql-python/setup.py'; > exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" > install --record /tmp/pip-Urb3hW-record/install-record.txt --single-version-externally-managed --compile" > failed with error code 1 in /tmp/pip-build-OcAYDJ/mysql-python/ 出错的原因是因为必须安装`mysql-devel`: yum -y install mysql-devel 再次进行安装`mysql-python`模块: pip install mysql-python > Collecting mysql-python > Using cached MySQL-python-1.2.5.zip > Installing collected packages: mysql-python > Running setup.py install for mysql-python ... done > Successfully installed mysql-python-1.2.5 成功安装。 在使用pip安装的模块的时候,如果需要卸载,那么只要`pip uninstall packagename`即可。 此问题在2.7版本中发现,在2.6版本中仅仅需要安装mysql-python包即可导入。 测试: python > Python 2.7.11 (default, Apr 5 2016, 12:24:31) > [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import MySQLdb > >>>
blog
python
python
centos
linux
该博客文章由作者通过
CC BY 4.0
进行授权。
分享
最近更新
ESXi 6.7 离线升级 7.0U3
N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)
Leanote 支持 emoji、chart.js 以及 mermaid
手把手教你自建开源免费私有云盘服务nextcloud 14
在Centos 6和7上安装设置MySQL / MariaDB 5.5或以上的版本
热门标签
linux
centos
python
ESXi
windows
leanote
mysql
font
Docker
phpmyadmin
文章目录
手把手教你自建开源免费私有云盘服务nextcloud 14
用Openssl生成10年有效期的自签名证书