centos中安装Python2.7

2023-05-16

转载于:秋水逸冰 » CentOS 6.8安装Python2.7.13

查看当前系统中的 Python 版本

python –version
返回 Python 2.6.6 为正常。

检查 CentOS 版本

cat /etc/redhat-release
返回 CentOS release 6.8 (Final) 为正常。

安装所有的开发工具包

yum groupinstall -y “Development tools”

安装其它的必需包

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

下载、编译和安装 Python 2.7.13

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar zxf Python-2.7.13.tgz
cd Python-2.7.13
./configure
make && make install
默认 Python 2.7.13 会安装在 /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.13 为正常。

以下步骤还是有必要的

为新版 Python 安装 setuptools

wget https://bootstrap.pypa.io/ez_setup.py -O - | python
(转者注:在这个安装中好像出现了错误,最后使用
wget https://bootstrap.pypa.io/get-pip.py,然后再python get-pip.py才行,然而有的还得在wget https://bootstrap.pypa.io/get-pip.py后面加上–no-check-certificate才行。)
setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。

为新版 Python 安装 pip

easy_install pip
正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。

为新版 Python 安装 distribute 包(可选)

pip install distribute
至此,新版 Python 即算安装完毕了。

注意:这可能会导致以前安装过的 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/

注意,有时候按照上述操作仍然有出错,安装后,它提示需要安装什么包,直接安装后再编译一下python就行了。(转者注)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos中安装Python2.7 的相关文章

  • 登录时自动运行 Bash 脚本

    我编写了一个脚本 它将登录者的日期和用户名发送到日志文件中 以记录登录者的记录 我想知道如何设置此脚本在用户登录时自动执行 而不是在用户登录时自动执行在终端中手动运行它 注意 用户名是当前登录的用户 my code bin bash pri
  • nfsnobody 用户权限

    我已经在两台 CentOS 6 64 机器之间设置了 NFS 文件共享 在服务器上 共享的文件夹最初由 root 用户拥有 在客户端上 它显示为 nfsnobody 所有 当我尝试从客户端写入该文件夹时 出现权限错误 因此 我将服务器上的文
  • 将 apply 的管道输出传送到 centos 中的记录

    我正在尝试自动化 websocket 客户端的一些测试 该客户端根据命令连接到服务器 该服务器基本上是一个语音到文本引擎 客户端支持来自麦克风的音频流 这样人们就可以实时录制自己的声音并将其传输到引擎 我在 centos 虚拟机中运行客户端
  • 在centos 6.4上安装numpy&scipy

    我在虚拟环境中工作 安装 numpy 和 scipy 时遇到问题 据我了解 在使用 scipy 之前我必须完全安装 numpy 但是我在安装 numpy 时遇到了问题 I usedpip install numpy并将 numpy 安装到我
  • 增加 CentOS 上的 Docker 容器存储大小

    我想增加 Docker 容器的磁盘空间 这是 docker info 的输出 Containers 3 Running 3 Paused 0 Stopped 0 Images 4 Server Version 19 03 5 Storage
  • PHP 5.3.8 上的 Mime 类型检测失败并显示 fileinfo

    我在 CentOS 服务器上安装了 PHP 5 3 8 时 无法使用 fileinfo 检测简单 PNG 文件的 mime 类型 问题 基本上 如果我有以下代码 如您所见 该文件是 PNG 图像 文件的头字节已被检查并
  • 在 php.ini 上启用curl_exec

    我想运行带有curl 的php 脚本 但以下功能被 php ini 禁用 exec passthru shell exec 系统 proc open popen curl exec curl multi exec show source 我
  • 在哪里可以找到 PHP 的错误日志文件?

    在哪里可以找到错误日志文件 我需要检查它们以解决安装后显示的内部服务器错误suPHP https wiki archlinux org title SuPHP 您可以使用lsof https en wikipedia org wiki Ls
  • CentOS 的 init.d celery 脚本?

    我正在编写一个使用 celery 的 Django 应用程序 到目前为止 我一直在 Ubuntu 上运行 但我正在尝试部署到 CentOS Celery 为基于 Debian 的发行版提供了一个很好的 init d 脚本 但它不适用于基于
  • 如何将php cURL升级到7.36.0版本?

    我的 CentOS 服务器上有 php curl 7 19 7 但我需要升级到 7 36 0 I tried yum update php curl 但我得到了 Loaded plugins downloadonly fastestmirr
  • PCRE 库版本太旧

    Bug Genie 3 需要 PCRE 库 8 0 或更高版本 你有 版本 7 8 2008 09 05 将您的系统更新到最新版本 你常用的来源 在我查看问题并尝试通过以下步骤更新我的 PCRE 库后 wget the latest sou
  • 如何在Linux中打开端口[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经安装了 Web 应用程序 该应用程序在 RHEL centOS 上的端口 8080 上运行 我只能通过命令行访问该机器 我尝试从我的
  • Composer 已安装,但获取 /usr/bin/env: php: No such file or directory

    在 CentOS 7 上 我安装了 PHP 7 1 然后我安装了作曲家 cd tmp curl sS https getcomposer org installer php71 gt used php71 instead of php ph
  • 缺少单独的调试信息,请使用: debuginfo-install glibc-2.12-1.47.el6_2.9.i686 libgcc-4.4.6-3.el6.i686 libstdc++-4.4.6-3.el6.i686

    CentOS 6 2 GNU gdb GDB 红帽企业 Linux 7 2 50 el6 当我使用 GDB 调试简单的 C 代码时 我看到以下警告 Missing separate debuginfos use debuginfo inst
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从
  • 检查没有 .svn 文件的 svn 存储库

    我的专用服务器 Centos 5 5 上有一个 svn 存储库 位于 var svn myRepository 我只想将这些文件复制到我的生产文件夹 var www myWebapp 中 据我了解 SVN 我只能在本地项目文件夹上使用 sv
  • 为什么我无法设置 SSHFS 共享? “OSXFUSE 文件系统不可用”错误

    我正在尝试设置从本地计算机到远程计算机的 SSHFS 共享 但它不起作用 我收到错误 OSXFUSE 文件系统不可用 见下文 如何解决这个问题 仅供参考 我的本地计算机是运行 OSX 10 9 3 的 MacBook Pro 笔记本电脑 远
  • 解决 php 常见冲突的最佳方法:忽略、修复还是其他?

    我正在尝试在 CentOS 6 上的 PHP 5 3 3 上安装 Soap 模块 来自 webtatic PHP 5 6 当我运行 yum 命令时yum install php56w soap要安装它 我收到以下消息 错误 php56w c

随机推荐

  • 禁用nouveau

    sudo vim etc modprobe d blacklist conf 在最后两行添加 xff1a blacklist nouveau options nouveau modeset 61 0 禁用nouveau第三方驱动 xff0c
  • 使用win10自带的微软远程桌面,远程控制不同局域网的电脑【无需公网IP、无需进入路由器】

    在Windows环境下 xff0c 要实现远程桌面控制 xff0c 首推系统自带的微软远程桌面mstsc xff0c 不需要另外去下载第三方远程软件 不管设备是否在同个网络下 xff0c 都可以使用mstsc来实现远程连接 在同个局域网内远
  • 推荐一款永久免费不限流量的内网穿透软件

    文章目录 前言1 安装cpolar内网穿透1 1 windows系统1 2 Linux系统 2 创建隧道穿透内网端口2 1 cpolar web ui2 2 命令行创建隧道 3 配置固定二级子域名3 1 保留二级子域名3 2 配置二级子域名
  • 群晖nas免费内网穿透,实现外网异地远程访问

    文章目录 1 安装cpolar群晖套件2 打开cpolar群晖套件3 登录cpolar Web UI管理界面4 创建新隧道映射5 获取公网地址6 配置固定二级子域名6 1 保留一个二级子域名6 2 配置二级子域名 7 使用固定二级子域名远程
  • 永久免费的内网端口映射工具推荐【无公网IP】

    搭建了个游戏服务器 xff0c 想要让在不同网段下的朋友也可以连接想要在家远程桌面公司电脑想要在外远程访问本地电脑的web服务器想要在外远程访问NAS 一切的一切 xff0c 都需要公网IP的支持 但是目前IPV4资源的稀缺 xff0c 很
  • 免费内网穿透教程【无公网IP】

    文章目录 前言1 安装cpolar内网穿透工具1 1 Windows系统1 2 Linux系统1 3 macOS系统 2 创建隧道映射内网端口3 获取公网地址4 配置固定二级子域名4 1 保留一个二级子域名4 2 配置二级子域名 5 公网测
  • 内网穿透SSH远程连接家里的树莓派

    随着科技的进步和信息技术的发展 xff0c 我们身边出现了各种新奇的科技产品 xff0c 其中既有轻便易用的消费类电子产品 xff0c 也有更轻更小的硬件设备 而树莓派作为计算机学习设备 xff0c 经过多年发展 xff0c 已经获得了不俗
  • 推荐10款简单好用的免费内网穿透工具

    前言 远程办公越来越普遍 xff0c 但是如何应对在外远程桌面控制公司电脑 远程公司内网办公系统 调阅公司文件资料 远程公司内网服务器是个问题 而解决方案其实很简单 xff0c 做内网穿透就可以突破局域网的限制 xff0c 轻松实现公网访问
  • Java支付宝沙箱环境支付,官方Demo远程调试【内网穿透】

    文章目录 1 下载当面付demo2 修改配置文件3 打包成web服务4 局域网测试5 内网穿透6 测试公网访问7 配置二级子域名8 测试使用固定二级子域名访问 在沙箱环境调试支付SDK的时候 xff0c 往往沙箱环境部署在本地 xff0c
  • opencv内存不足问题(OpenCV Error: Insufficient memory)

    最近在用opencv自带的函数haartraining训练分类器 xff0c 之前用的图片是20 20 xff0c 能训练出分类器 xff0c 后来换成了80 86 xff0c 就报错了 xff0c 报的错误是内存不足 xff0c 于是 x
  • ffmpeg 4.2.2 实现mp4转avi(修改官方remuxing例子)

    最近想把ffmpeg官方例子过一遍 xff0c 达到初步了解ffmpeg的目的 xff0c 本文只是给自己一个记录 xff0c 也是在网上没有找到一样的文章 xff0c 发出来供大家指点 直接使用官方demo xff0c 把mp4转换成av
  • 12.bss段的初始化

    12 bss段的初始化 在C代码 xff1a 有初始化全局的数据段 xff0c 局部的栈 xff0c malloc部分的堆 xff0c 未初始化的全局的bss段 从上面的编译的信息知道 xff1a Bss段的起始地址 xff1a 00010
  • pandas学习之df.rename()

    pandas学习之df rename df rename 用于更改行列的标签 xff0c 即行列的索引 可以传入一个字典或者一个函数 在数据预处理中 xff0c 比较常用 官方文档 xff1a DataFrame rename self m
  • java8操作两个集合List

    public static void main String args List lt String gt list1 61 new ArrayList lt String gt list1 add 34 1 34 list1 add 34
  • Atcoder AGC005 题解

    A STring 用类似括号匹配的方法搞一下即可 span class token macro property span class token directive keyword include span span class toke
  • CentOS-7安装桌面环境

    CentOS 7安装桌面环境 CentOS 7安装桌面环境 CentOS 7安装Server with GUI 设置为开机从桌面环境启动 yum y group install 39 Server with GUI 39 systemctl
  • [软件注册]Sublime 3 激活/注册码(key)

    偶然发现了一种sublime激活方式 使用的sublime3 1 1版本 亲试有效 Step1 配置 host文件 推荐使用 switchhost软件 可以快速变更host span class hljs number 127 0 span
  • 测试git能否连接github

    welcome to my blog 使用以下命令进行测试 ssh T git 64 github com 出现报错 ssh dispatch run fatal Connection to 13 250 177 223 port 22 S
  • vtk中实现3D模型(读取文件)

    xff08 xff09 VTK 坐标系统及空间变换 窗口 视图分割 mb5fed73533dfa9的技术博客 51CTO博客 VTK学习 xff08 三 xff09 VTK读取序列图像 灰信网 xff08 软件开发博客聚合 xff09 读取
  • centos中安装Python2.7

    转载于 xff1a 秋水逸冰 CentOS 6 8安装Python2 7 13 查看当前系统中的 Python 版本 python version 返回 Python 2 6 6 为正常 检查 CentOS 版本 cat etc redha