centos7安装python

1.centos 7怎么安装python3

不要轻易更新Python版本,不然有可能会导致Linux很多命令不兼容新的版本

1、yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel(虚拟机有安装1的,请从第二步开始)

2、wget http://www.python.org/ftp/python/3.2.3/Python-3.2.3.tar.bz2

3、tar -xjf Python-3.2.3.tar.bz2

4、cd Python-3.2.3

5、./configure --prefix=/usr/local/python3

6、make && make install

7、rm -rf /usr/bin/python*

8、ln -s /usr/local/python3/bin/python3 /usr/bin/python

9、查看版本 python -v

不兼容如:

问题:

[root@name user]# yum

File "/usr/bin/yum", line 30

except KeyboardInterrupt, e:

^

原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误。

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.4(如果你没有采用覆盖升级的话,覆盖的话重新拷贝一个python2版本文件)

升级yum的作法就不详述了;

修改yum的解释器为旧版本python2.4:

vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可

2.centos7 怎么装python3

去官网下载编译安装包或者直接执行以下命令下载wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz解压 tar -xvJf Python-3.6.2.tar.xz切换进入 cd Python-3.6.2编译安装./configure prefix=/usr/local/python3make && make install安装完毕,/usr/local/目录下就会有python3了因此我们可以添加软链到执行目录下/usr/binln -s /usr/local/python3/bin/python3 /usr/bin/python可以看到软链创建完成测试安装成功了没,执行python -V 看看输出的是不是python3的版本执行python2 -V 看到的就是python2的版本因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:vi /usr/bin/yum把#! /usr/bin/python修改为#! /usr/bin/python2同理 vi /usr/libexec/urlgrabber-ext-down 文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2这样python3版本就安装完成;同时python2也存在python -V 版本3 python2 -V 版本2。

3.在centos 7上安装并配置python 3.6环境,怎样使用3.6.1 版本

在CentOS 7上安装并配置Python 3.6环境在纯净的 CentOS 系统上安装 Python 环境主要有两种办法。

一种是通过源码编译安装,另外一种就是安装已经打好的 RPM 包。依照个人习惯,我们先来看一下如何通过源码编译的方式安装 Python 3.6 并且配置虚拟环境。

作者:TaoBeier来源:segmentfault|2017-06-26 18:30移动端收藏分享拖了很久没有更新,抱歉啦~ 今天受邀写篇如何在 CentOS 7 上配置 Python 3 环境的文章。往常我都选择直接把我早年写的一篇文章源码编译MongoDB丢过去,让他们看其中的源码编译 Python 那一节,不过那节写的其实不太详细,而且最近被很多人催,所以还是单独写一篇好了。

当前最新的 CentOS 7.3 默认安装的是 Python 2 ,并且默认的官方 yum 源中不提供 Python 3 的安装包。有些用户想要升级使用 Python 3 但实际可能有各种各样的问题,导致出错,反观一下激进的 Fedora 社区,在23的时候,就将默认的版本修改成了 Python3 (如果我没记错的话)。

先说下我所使用的系统环境, 一个新创建的 Docker 容器。 使用 cat /etc/redhat-release 可以看到运行的是 CentOS 7.3 版本。

在纯净的 CentOS 系统上安装 Python 环境主要有两种办法。 一种是通过源码编译安装,另外一种就是安装已经打好的 RPM 包。

依照个人习惯,我们先来看一下如何通过源码编译的方式安装 Python 3.6 并且配置虚拟环境。使用源码进行编译安装基础环境先安装安装几个必须的包,以方便后续的操作➜ yum install wget gcc make ➜ # wget 用于下载源码包 ➜ # gcc 和 make 用于编译 上 Python的官网 下载源码包➜ wget 解包,解压缩➜ xz -d Python-3.6.1.tar.xz ➜ tar -xvf Python-3.6.1.tar 编译➜ cd Python-3.6.1 ➜ ./configure --prefix=/usr/local/python3.6 --enable-optimizations ➜ 先解释下上面的参数,--prefix 是预期安装目录,--enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化(如果没记错的话),但是这会明显的增加编译时间。

不过关于 LTO 和 PGO 其实不在今天文章的讨论范围内,建议感兴趣的可以看看 GCC 中 LTO 的具体实现。我应该不太可能去写相关的文章 哈哈哈 毕竟写起来就会停不下来。

接下来➜ make ➜ make install 如图,会看到出错了,提示 zlib not available 所以,我们需要装一下依赖➜ yum install zlib-devel 那为什么需要这个依赖包呢, 其实是因为 Python 有个很重要的内建模块 zipimport 用于从 Zip 压缩包中导入模块。 而如果没有 zlib 的包,那么就无法进行解压缩了,也自然该模块就不能使用了。

当我们的依赖安装好之后,重新执行上面的编译安装的步骤,发现执行成功。➜ /usr/local/python3.6/bin/python3 --version Python 3.6.1 此刻,我们的 Python 3 也就安装成功了。

检查编译安装完还远远不够,我们来做些检查。当我们运行 Python 终端,输入 import bz2 的时候,会发现没有这个模块。

如果你对这个模块不熟悉,那也没关系。我们输入 import sqlite3熟悉 Python 的同学应该对 sqlite3 不会太陌生,但如果你还是不熟悉的话,那你按方向键试试看。

有没有发现,输出变成了^[[D^[[A 类似这样的内容?熟悉 Python 源码的同学,肯定知道我要说什么了。但是假如你不熟悉,没关系,我来告诉你。

正常来讲,在终端下我们预期当输入上方向键,会显示上一条命令,输入左方向键,可以将光标移动到左侧。但现实和我们的预期不同,什么原因?这里涉及到了一点点关于输入设备的历史原因,简单来说就是需要有个模块来对用户的输入进行转义。

回到本文的重点,就是我们编译安装的时候缺少了 readline 这个模块。既然已经发现了问题,那解决的办法其实很简单➜ yum install readline-devel 安装完成后,重复上面的步骤,编译&&安装即可。

再检查前面只是解决了方向键输入的问题,但是我提到的那两个模块还是 import 不进来,那我们仔细的看看我们的编译过程的输出。其中有这样的一段(依据系统环境的不同,输出可能也是不一致的)Python build finished successfully! The necessary bits to build these optional modules were not found: _curses bz2 _dbm _gdbm _lzma _sqlite3 _tkinter readline To find the necessary bits, look in setup.py in detect_modules() for the module's name. 按照上面的提示,很明显,我们缺少了一些(可选的)模块,这些模块假如你觉得自己不会用到,那也可以不理会它。

这些模块,我用到的会多一些,甚至是那个一般人都不会碰的 TK 模块 哈哈哈。解决方式就只是装一下对应的模块即可。

➜ # 解决 import bz2 报错 ➜ yum install bzip2-devel ➜ # 解决 import curses 报错 ➜ yum install ncurses-devel ➜ # 解决 import sqlite3 报错 ➜ yum install sqlite-devel ➜ # 解决 _dbm _gdbm 缺失提醒 ➜ yum install gdbm-devel ➜ # 解决 _lzma 缺失提醒 ➜ yum install xz-devel ➜ # 解决 _tkinter 缺失提醒 ➜ yum install tk-devel ➜ # 解决 readline 缺失提醒及方向键行为非预期的问题 ➜ yum install readline-devel 当这些模块都装完,重新编译会发现提醒已经消失,安装即可。使用 rpm 包进行安装先来介绍一下 IUS 这个社区。

4.如何安装Python 3中,并设置本地编程环境在CentOS 7

介绍

Python是一种多功能编程语言,可以用于许多不同的编程项目。开发团队于1991年首先发表了一个名叫灵感来源于英国喜剧组织Monty Python的名字,他希望Python能够成为一种有趣的语言。对于初学者和经验丰富的开发人员来说,Python易于设置,并且以相对直接的方式编写,并提供对错误的即时反馈。Python 3是该语言的最新版本,被认为是Python的未来。

本教程将指导您在本地CentOS 7机器上安装Python 3,并通过命令行设置编程环境。

先决条件

您将需要一台连接到互联网的非root超级用户帐户的CentOS 7计算机。

第1步 - 准备系统

我们将通过命令行来完成这个安装。如果您的CentOS 7计算机启动了图形用户界面(GUI)桌面,则可以通过菜单访问命令行界面,方法是导航到应用程序,然后导航到实用程序,然后单击终端。如果您需要更多关于终端的指导,请务必阅读文章“ Linux终端简介 ”。

在开始安装之前,让我们确保更新默认的系统应用程序以获得最新版本。

我们将使用开源包管理工具yum,代表Yellowdog Updater Modified。这是一个常用的工具,用于在基于Red Hat的Linux系统(如CentOS)上处理软件包。它可以让你轻松地安装和更新,以及删除您的计算机上的软件包。

我们首先通过运行这个命令来确保yum是最新的:(更新系统是可选执行)

5.如何在centos安装python

centos一般自带了python2.7,如果你想安装python3的话,可以按照以下步骤安装,以python3.6.2为例:1. 安装Python依赖包:#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make2. 下载Python源码包:#cd /usr/local/src#wget 3. 编译、安装:[root@Python /]# tar -xzvf /usr/local/src/Python-3.6.2.tgz -C /usr/local/src/[root@Python /]# cd /usr/local/src/Python-3.6.2[root@Python Python-3.6.2]# ./configure --prefix=/usr/local/python --enable-shared[root@Python Python-3.6.2]# make[root@Python Python-3.6.2]# make install4. 如果在安装Python时使用了--enable-share命令后启动时会出错误:ImportError:libpython3.6m.so.1.0:cannot open shared object file: No such file or directory解决办法是在运行configure和make之前运行:export LD_LIBRARY_PATH={prefix}/lib/{prefix} is what you passed to --prefix.例如:#export LD_LIBRARY_PATH=/usr/local/python/lib/#vim ~/.bash_profile添加一行:export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATH5. 添加Python命令到环境变量:[root@Python /]# vim ~/.bash_profilePATH=$PATH:$HOME/bin改为:PATH=$PATH:$HOME/bin:/usr/local/python/bin6. 使环境变量生效:[root@Python /]# source ~/.bash_profile7. 查看Python版本:[root@Python /]# python3 -VPython 3.6.28. 更改系统默认python版本为Python3.6[root@Python /]# mv /usr/bin/python /usr/bin/python2.7.5[root@Python /]# ln -s /usr/local/python/bin/python3.6 /usr/bin/python9. 核对Python版本:[root@Python /]# python -VPython 3.6.210. 解决python升级后,YUM不能正常工作的问题:#vi /usr/bin/yum将文件头部的#!/usr/bin/python改成 #!/usr/bin/python2.7。

6.如何在centos安装python

更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的,比如yum。

[root@localhost ~]# wget Python-2.7.11.tgz

[root@localhost ~]# tar -zxvf Python-2.7.11.tgz

[root@localhost ~]# cd Python-2.7.11

[root@localhost ~]# make

[root@localhost ~]# make install //默认安装到 /usr/local/lib/python2.7下

[root@localhost ~]# python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"

/usr/local/lib/python2.7/site-packages

[root@localhost ~]# mv /usr/bin/python /usr/bin/python_old //修改旧的python版本为python_old

[root@localhost ~]# ln -s /usr/local/bin/python2.7 /usr/bin/python //建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python

补充:默认的python成功指向3.3.0以后,yum不能正常使用,需要修改yum的配置文件。

centos7安装python

转载请注明出处代码入门网 » centos7安装python

资讯

pythonsendto()

阅读(13)

本文主要为您介绍pythonsendto(),内容包括python3socket.sendto函数怎么写,pythonsmtplib怎么使用,『PythonKivy』什么是Kivy,以及Helloworld。python3.2 socket.send 修改传送数据必须是byteshttp://docs.python.org/py3k/libr

资讯

python的truefalse

阅读(15)

本文主要为您介绍python的truefalse,内容包括pythontruefalse问题,Python中False和True也可以作为普通字符串吗,Python内部是如何判断一个对象是True还是False。众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分

资讯

pythonif逻辑运算

阅读(18)

本文主要为您介绍pythonif逻辑运算,内容包括python中的逻辑运算,Python的逻辑运算,Python的逻辑运算。逻辑运算并不限于布尔(boolean)型的变量/值。关键是一个变量/值是“相当于”True还是False。None、False、空字符串

资讯

python两个版本

阅读(16)

本文主要为您介绍python两个版本,内容包括python两个版本有什么不同,两个python版本,怎么确定哪个是在用的,windows怎么管理python两个版本。Python 2 与 Python 3 共存安装 Python 3.3 以上的版本时,Python会在C:\Windows文件夹下安装启

资讯

python32位

阅读(14)

本文主要为您介绍python32位,内容包括Python哪个版本比较好,怎么下载安装,win10,系统64位,Python安装32位的还是64位的,请问win732位安装python哪个版本的下载地址是谢谢大侠。方法/步骤打开百度首页,搜索“python”,进入官网,进行下载,根据操

资讯

莫python

阅读(13)

本文主要为您介绍莫python,内容包括刚开始学openERP+Python,如何快速入门,StacklessPython到底是什么东东和Python什么关系,莫烦讲的怎么样python。0.Python简明教程下载地址:python简明教程中文.pdf很简洁的一本教材,就算没有基础,你也可以像

资讯

python读文件一行

阅读(13)

本文主要为您介绍python读文件一行,内容包括用python读取文本文件,对读出的每一行进行操作,这个怎么写搜,python怎样或读取一个文件的最后一行,如何使用py读取文件的特定一行。用python读取文本文件,对读出的每一行进行操作,写法如下:f = open

资讯

pythonos.popen

阅读(14)

本文主要为您介绍pythonos.popen,内容包括python语句os.systemos.popen什么意思,如何操作pythonos.popen的返回,pythonsubprocess.Popen。os.system() 和os.popen()的区别返回的数据不同1 os.system(“ls") 返回0但是这样是无法获得到输出和返

资讯

pythonconfigparser

阅读(12)

本文主要为您介绍pythonconfigparser,内容包括PythonConfigParser可读取哪些类型的数据,是个什么概念,[python]ConfigParser读取带中文的ini文件。测试配置文件test.conf内容如下:复制代码代码如下:[first]w = 2v: 3c =11-3[second]sw=4test

资讯

python引用文件

阅读(14)

本文主要为您介绍python引用文件,内容包括python怎么引用其他文件的类,Python里如何引用文件,python引用别的文件类。在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如

资讯

perl和python

阅读(12)

本文主要为您介绍perl和python,内容包括perl和python选哪个,Perl与Python的区别和优缺点到底在哪,python和perl有什么区别。就 语法来看,Python比Perl优美得多。Perl里面充满了像$!和$_这类的天书标记,初学的时候每读一段代码,就会碰到几个从来

资讯

python爬虫教程

阅读(12)

本文主要为您介绍python爬虫教程,内容包括如何入门Python爬虫,如何用最简单的Python爬虫采集整个网站,python爬虫入门需要哪些基础。从爬虫必要的几个基本需求来讲: 1.抓取 py的urllib不一定去用,但是要学,如果还没用过的话。 比较好的替代品

资讯

python文件函数

阅读(14)

本文主要为您介绍python文件函数,内容包括如何直接执行一个Python文件的内置函数,python如何调用.py文件的函数,python常用的系统函数。【python】如何在某.py文件中调用其他.py内的函数 假设名为A.py的文件需要调用B.py文件内的C(x,y)函数

资讯

pythonforitems

阅读(12)

本文主要为您介绍pythonforitems,内容包括python中怎么运行for循环,python中for循环放在后面要怎么理解,在python中fork,vinsubDict:listDict[k]=v这段代码是什么意思主要。i 等于9 因为闭包,lambda生成之后i引用的就是for循环中的i 建议你

资讯

pythonsendto()

阅读(13)

本文主要为您介绍pythonsendto(),内容包括python3socket.sendto函数怎么写,pythonsmtplib怎么使用,『PythonKivy』什么是Kivy,以及Helloworld。python3.2 socket.send 修改传送数据必须是byteshttp://docs.python.org/py3k/libr

资讯

python的truefalse

阅读(15)

本文主要为您介绍python的truefalse,内容包括pythontruefalse问题,Python中False和True也可以作为普通字符串吗,Python内部是如何判断一个对象是True还是False。众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分

资讯

pythonif逻辑运算

阅读(18)

本文主要为您介绍pythonif逻辑运算,内容包括python中的逻辑运算,Python的逻辑运算,Python的逻辑运算。逻辑运算并不限于布尔(boolean)型的变量/值。关键是一个变量/值是“相当于”True还是False。None、False、空字符串

资讯

python两个版本

阅读(16)

本文主要为您介绍python两个版本,内容包括python两个版本有什么不同,两个python版本,怎么确定哪个是在用的,windows怎么管理python两个版本。Python 2 与 Python 3 共存安装 Python 3.3 以上的版本时,Python会在C:\Windows文件夹下安装启

资讯

python32位

阅读(14)

本文主要为您介绍python32位,内容包括Python哪个版本比较好,怎么下载安装,win10,系统64位,Python安装32位的还是64位的,请问win732位安装python哪个版本的下载地址是谢谢大侠。方法/步骤打开百度首页,搜索“python”,进入官网,进行下载,根据操

资讯

莫python

阅读(13)

本文主要为您介绍莫python,内容包括刚开始学openERP+Python,如何快速入门,StacklessPython到底是什么东东和Python什么关系,莫烦讲的怎么样python。0.Python简明教程下载地址:python简明教程中文.pdf很简洁的一本教材,就算没有基础,你也可以像

资讯

python读文件一行

阅读(13)

本文主要为您介绍python读文件一行,内容包括用python读取文本文件,对读出的每一行进行操作,这个怎么写搜,python怎样或读取一个文件的最后一行,如何使用py读取文件的特定一行。用python读取文本文件,对读出的每一行进行操作,写法如下:f = open

资讯

python中文unicode

阅读(13)

本文主要为您介绍python中文unicode,内容包括怎么把中文转成Unicode在Python3中,python怎么将汉字转换成unicode,python中怎样将unicode转换成原来的中文。loads取出后是unicode?我怀疑你用的是python3通常python2时所有IO读写都是byte方式

资讯

python黑客绝技

阅读(2)

本文主要为您介绍python黑客绝技,内容包括黑客们会用到哪些Python技术,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,黑客们会用到哪些Python技术。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽

资讯

python开发什么软件

阅读(2)

本文主要为您介绍python开发什么软件,内容包括python能用来开发什么软件,开发python用什么软件,Python可以开发哪些程序。Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的

资讯

python正则匹配url

阅读(2)

本文主要为您介绍python正则匹配url,内容包括请问如何使用python的正则表达式提取url链接,请问如何使用python的正则表达式提取url链接,怎么写url的python正则表达式。1.测试正则表达式是否匹配字符串的全部或部分regex=ur"" #正则表达式if r

资讯

pythonstrtobyte

阅读(2)

本文主要为您介绍pythonstrtobyte,内容包括python怎么将字符串转换为byte,pythonstr和byte的区别,python2.7.3中怎么将str转为bytes。public class Test { public static void main(String[] args) { //1. By

资讯

jointhreadpython

阅读(2)

本文主要为您介绍jointhreadpython,内容包括python线程join什么意思,pythonthreading一定要join吗,如何在python多线程join挂起后还能在主线程。Join的作用是众所周知的,阻塞进程直到线程执行完毕。通用的做法是我们启动一批线程,最后join这

资讯

vs2013python

阅读(2)

本文主要为您介绍vs2013python,内容包括vs2013怎么进行Python编程,vs2013怎么进行Python编程,visualstudio2013为什么支持python。方法/步骤1电脑上安装微软公司的VS2013,可以从dreamspark 上下载正版或通过其他途径获得,安装即可。2打开VS20

资讯

houdinipython

阅读(2)

本文主要为您介绍houdinipython,内容包括学习Houdini必须会python吗,学习houdini到底要不要掌握python,学习houdini到底要不要掌握python。Houdini应该不错。不过似乎某个rendering(名子不记得了),应该与python的集成更好。python是一个通用语

资讯

vimpythonide

阅读(2)

本文主要为您介绍vimpythonide,内容包括如何将vim变成一个强大的pythonide,在linux下面做python程序开发,用什么ide好,在linux下面做python程序开发,用什么ide好大家在用哪个工具。可以理解题主的需求,做机器学习的时候经常需要看具体代码,通

资讯

python大文件处理

阅读(2)

本文主要为您介绍python大文件处理,内容包括内存不足时,python如何处理大文件,python对文件进行处理,如何用python最快的获取大文件的最后几行。工作中经常会遇到处理日志文件的问题:为了得到日志的最新状态,我们需要获取日志文件的最后部分

资讯

python服务器应用

阅读(2)

本文主要为您介绍python服务器应用,内容包括python怎么在服务器端使用,python都应用服务器框架,python怎么在服务器端使用。利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务