首页 > 编程知识 正文

7编译安装python,如何编译安装

时间:2023-12-27 22:28:11 阅读:327461 作者:SGBE

本文目录一览:

在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 这个社区,名字的全写是【Inline with Upstream Stable】取首字母,它主要是一个提供新版本RPM包的社区。具体使用可以查看官方文档 简单说来就只要按下面的命令操作即可。

➜ yum -y install

添加 IUS 之后,先创建缓存元数据,再进行安装即可

➜ yum makecache ➜ yum install python36u ➜ yum -y install python36u-pip ➜ yum -y install python36u-devel

完成后直接终端输入 python3 即可。

环境配置

上面只是写了 Python 的安装,如果是使用 RPM 的方式安装的话,那直接是可用的。但如果是源码编译的,总不至于每次都输入一大串路径吧。所以解决方法很简单,加个链接即可。

➜ ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3

另外,当系统中存在多个 Python 版本的时候,尽量去避免环境污染。我个人比较推荐使用 virtualenv 创建独立的虚拟环境,我日常中也是这样用的。不过,当我们安装完 Python 3.6 后,可以直接执行下面的命令进行虚拟环境的创建。

➜ python3 -m venv py3 ➜ source py3/bin/activate (py3) ➜ python -V Python 3.6.1

总结

CentOS 7 上安装Python 3.6 主要有两种方式,源码编译和安装 RPM 包。

对于想快速使用源码配置环境但并不想关心具体原因的读者,可以直接使用我GitHub上提供的这个脚本进行安装

另外Python 3.6 可直接使用 python3 -m venv venv_name 创建虚拟环境。

如何在win7下安装Python及配置

安装配置如下:下载安装 Python

如下载 Python 2.6,安装目录为 C:Python26添加环境变量

path =C:Python26ArcGIS10.0

此步骤可实现在命令行下,不用进入 Python 目录即可执行 python.exe

下载 setuptools

注意对应 Python 的版本,完成后运行 exe 即可完成安装

setuptools-1.4.1.win32-py2.6.exe下载 pip

pip-1.4.1.tar.gz安装 pip

5.1 解压pip-1.4.1.tar.gz

5.2 运行CMD,进入命令行

5.3 用CD命令进入 pip 解压目录

5.4 输入 "python setup.py install"

5.5 添加环境变量 path = C:Python26ArcGIS10.0Scripts

验证是否安装成功

运行CMD,进入命令行,输入pip

恭喜你安装成功!

安装distribute, nose, virtualenv

进入命令行,输入 "pip install package",package为安装包名称。

如何安装和配置Python

Python几乎可以在任何平台下运行,如我们所熟悉的:Windows/Unix/Linux/Macintosh。

在这里我们说一下,在Windows操作系统中安装python。

我的操作系统为:Windows 7,32位

安装python的时候,我们既可以从源码安装,同时也可以用已经编译好并且打包好的二进制版本进行安装,这里我选择的是后者。

步骤一  下载安装包

我们从python官方网站:下载python的安装包

这里我选择的是:python-3.3.2.msi

点击即可下载获取得到:python-3.3.2.msi安装包。该安装包大小:19.3 MB

步骤二  安装

下载获取到:python-3.3.2.msi安装包,我们双击python-3.3.2.msi即可进行安装操作

我安装的目录为:E:Python33

点击Next,即进行安装,安装过程需要几分钟

点击Finish结束安装。

步骤三   路径设置

一般情况下,我们安装好Python之后便可以直接使用。可以在命令行下输入Python看是否可以进入Python的交互模式,

如果不能进入,则有可能是环境变量问题,需要做一些调整。

在Windows的路径添加Python的目录:

命令提示符 : 类似于环境变量路径 %path%;C:Python ,回车;

或者您可以在图形界面下操作设置环境变量,计算机-属性-高级系统设置-高级-环境变量

步骤四  效果

安装完后的安装目录文件:

到此,python的安装就算是成功了。

win7中如何安装python

win7安装python的方法:

1、首先进入python官方网站下载(),进入之后如下图,选择黄色按钮进行下载。

2、下载完成后如下图所示。

这里有两个版本,下面是32位,上面是64位。

3、双击exe文件进行安装,如下图,并按照圈中区域进行设置,切记要勾选打钩的框(如果不勾选,则后期要专门设置环境变量,相对麻烦),然后再点击Customize installation进入到下一步:

4、对于上图中,可以通过Browse进行自定义安装路径,也可以直接点击Install进行安装,点击install后便可以完成安装了。

5、为了检查我们的python是否安装成功,可以在命令窗口中输入python进行查询,如显示下图的信息说明python安装成功了。

更多Python知识请关注Python视频教程栏目。

怎么安装python

python安装教程具体如下:

1.确定电脑的系统类型。在安装python之前,你要先确定一下你的电脑的系统类型及详细配置,具体方法如下:点击桌面上的快捷图标“此电脑”,然后右击“属性”,在设备规格下仔细查看电脑的“系统类型”。

2.进入python官网()。你可以直接在浏览器里输入python官网()的地址,也可以直接在百度或其他搜索引擎里输入“python官网”,如下图1-2所示。同样可以快速进入python官网。如下图1-3所示,由于此台电脑是64位的Windows10操作系统,所以点击“Downloads”后选择相应的python版本安装即可。

3.选择相应的python版本,下载python。根据此时这台电脑的系统类型(64位的Windows10操作系统),我们选择相应的python版本,直接双击python解释器文件进行下载即可。

4.此时,直接双击python解释器文件,即可开始安装python。

Centos 7安装python3

纯傻瓜式步骤,保证成功。

下面的操作,按照步骤来就可以了,不要在中途cd 到别的文件目录下,要想查看效果可以用 ls加上对应的目录,不需要切换进去。

首先不管你当前在哪个目录下,输入以下命令。

默认Centos7中是有python安装的,但是是2.7版本,我们需要安装py3。我们去看一下默认的py2.7在哪里。

三个显示结果中最后一个是python2.7,实际上这几个文件之间是有依赖关系的。在ls 后面加个 -al参数,如下:

[root@localhost bin]# ls -al python*

lrwxrwxrwx. 1 root root 33 Oct 21 12:30 python - python2

lrwxrwxrwx. 1 root root 9 Oct 19 23:55 python2 - python2.7

-rwxr-xr-x. 1 root root 7136 Aug 4 08:40 python2.7

[root@localhost bin]#

依赖关系很明显就可以看到。我们要安装版本3,首先要把刚才显示的三个python文件中的第一个python给备份一下(不保留源文件,仅保留备份文件就可以)

使用如下命令:

python文件变成了python.bak文件,bak文件就放这里吧,再也不用管它了。避免以后麻烦,就留在这里不用删除。系统准备好了,接下来,我们要去下载了。

比较推荐下面这种方式,我们在linux上找一个目录,然后使用wget命令下载到这个目录,然后解压-安装。如下:

这个是所有的python版本存放的地方。我们想使用哪个版本就用哪个。

很多版本,这里选择的是比较新的3.6.3,点进去,找到下面这个文件。Python-3.6.3.tgz

然后根据地址栏的链接拼接成如下链接:(如果是其他版本道理与这个是一样的)

链接准备好了,我们在Centos 7上创建一个目录吧。一般选择的是/usr/local里面的,如下命令(当前我们依然还在之前的/usr/bin目录下面,先不要动,还在这里):

目录创建好了,我们就cd切换进去就好了。

接下来我们要用刚才的网址,把源码下载到这个目录下就OK,命令如下:

等待下载完成之后会在当前目录下出现一个tgz包,命令解压这个包到当前目录就可以:

就要开始安装了,因为下载的包是未编译的,我们需要编译一下。

进入文件目录:

然后如下命令(执行完这句命令之后,不要切换到别的目录,不然会非常懵逼,因为执行完之后如果去/usr/local/下面的看的话是没有python3Dir目录的):

稍微解释上面这句命令,这句话的大致目的就是把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。

现在我们当前目录还是在/usr/local/python3/Python-3.6.3,执行如下命令:

然后出来一大堆代码,等它执行完毕。接着输入以下命令:

又是一大堆代码,执行完毕之后,我们就可以切换到/usr/local/python3Dir目录下去查看了。

接下来我们还有一点善后工作。切换到 /usr/bin目录下面吧:

软链接创建完毕之后。再说个事情,就是centos的yum命令是需要python支持的,我们贸然把当期的版本更换了,万一yum出错怎么办,还是让yum依然用原来的2.7版本吧。好吧我们帮它改一下吧:

注意:下面这个操作用vi操作,不熟悉vi的同学 一定要按照我的指示来 ,不然你一脸懵逼连修改后的文件怎么保存退出都不知道。

首先输入命令,然后回车:

接下来出现一个全新的界面。 此时任何按键都不要动。听我指示。

首先,切换到 英文 输入法,再输入字符 i 是aeiou的i

然后就可以开始编辑这个文件了。

把文件开头第一行的

#!/usr/bin/python改成#!/usr/bin/python2.7 这样就可以了。

然后,下面保存退出。注意步骤。

首先按下ESC,然后 输入: 这个符号(需要shift组合键的)。然后输入wq 细心的同学看左下角。

然后回车就可以保存退出,回到终端界面了。

我们查看一下链接情况:

然后查看一下当前的python版本

然后来个hello world测试一下:

先输入python进入,然后写代码:

以上就是安装的全部过程,现在来捋一下安装的大致思路。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。