【Centos7】如何在Linux下安装和使用 python
获取权限图形界面中(ctrl+ alt+F2 进行切换),左上角应用程序,选择终端,输入:su然后根据提示输入密码,即可进入得到root权限基础环境先安装安装几个必须的包,以方便后续的操作➜yum install wget gcc make➜# wget 用于下载源码包➜# gcc 和 make 用于编译下载python包打开网页,www....
获取权限
- 图形界面中(ctrl+ alt+F2 进行切换),左上角应用程序,选择终端,输入:
su
然后根据提示输入密码,即可进入得到root权限
基础环境
-
先安装安装几个必须的包,以方便后续的操作
➜ yum install wget gcc make
➜ # wget 用于下载源码包
➜ # gcc 和 make 用于编译
下载python包
打开网页,www.python.org,在download页面中找到要下载的版本(此处是python3.6.5),保存到home文件夹中,然后解压缩。(提取)
-
编译
➜ cd Python-3.6.5
➜ ./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.5
-
检查
编译安装完还远远不够,我们来做些检查。
当我们运行 Python 终端,输入 import bz2
的时候,会发现没有这个模块。如果你对这个模块不熟悉,那也没关系。我们输入 import sqlite3
熟悉 Python 的同学应该对 sqlite3 不会太陌生,但如果你还是不熟悉的话,那你按方向键试试看。有没有发现,输出变成了^[[D^[[A
类似这样的内容?
熟悉 Python 源码的同学,肯定知道我要说什么了。但是假如你不熟悉,没关系,我来告诉你。正常来讲,在终端下我们预期当输入上方向键,会显示上一条命令,输入左方向键,可以将光标移动到左侧。但现实和我们的预期不同,什么原因?
这里涉及到了一点点关于输入设备的历史原因,简单来说就是需要有个模块来对用户的输入进行转义。回到本文的重点,就是我们编译安装的时候缺少了 readline
这个模块。既然已经发现了问题,那解决的办法其实很简单
➜ yum install readline-devel
安装完成后,重复上面的步骤,编译&&安装即可。
使用python写代码
Pip
安装好python后,接下来必装的就是pip了。
curl https://bootstrap.pypa.io/get-pip.py | python
设置pip安装源,提高下载速度
创建文件夹
mkdir home/pip
利用cd 命令进入 pip 文件夹中,创建pip.conf文件
vi pip.conf
输入以下命令,然后点击Esc,输入:wq 保存并退出。
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
安装setuptool
pip install ez_setup
尝试安装 scrapy,报错:error: command 'gcc' failed with exit status 1
解决办法:
yum install gcc libffi-devel python-devel openssl-devel
编写python代码:
vi xxx.py
(Esc,:wq 保存并退出)
运行:
python xxx.py
更多推荐
所有评论(0)