centos7 默认是装有 python 的, 咱们先看一下
- # 检查 python 版本
- [root@oldboy_python ~ 17:23:54]#python -V
- Python 2.7.5
但是 python2 版本维护到 2020 年元旦就不再维护了, 所以建议安装 python3 版本使用.
1. 安装 python3
1.1 下载 python 源码包
网址: https://www.python.org/downloads/release/python-362/
下载地址: https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
1.1.1 安装 python 前的库环境, 非常重要
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel SQLite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
1.2 下载, 解压安装源码包
1. 在 Windows 上下载, 下载完成后, 通过 lrzsz 工具, 或者 xftp 工具, 传输到 Linux 服务器中
2. 在 Linux 中直接下载
- cd /opt
- wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
1.3. 解压缩源代码
tar -xf Python-3.6.2.tgz
1.4. 进入源代码目录, 释放编译文件
- cd Python-3.6.2
- 1,configure
这一步一般用来生成 Makefile, 为下一步的编译做准备, 你可以通过在 configure 后加上参数来对安装进行控制, 比如代码:
./configure --prefix=/usr
上面的意思是将该软件安装在 /usr 下面, 执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin), 资源文件就会安装在 /usr/share(而不是默认的 / usr/local/share).
同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定. 有一些软件还可以加上 --with,--enable,--without,--disable 等等参数对编译加以控制, 你可以通过允许 ./configure --help 察看详细的说明帮助.
2,make
这一步就是编译, 大多数的源代码包都经过这一步进行编译 (当然有些 perl 或 python 编写的软件需要调用 perl 或 python 来进行编译).
如果 在 make 过程中出现 error , 你就要记下错误代码 (注意不仅仅是最后一行), 然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址), 或者你的系统少了一些依赖库等, 这些需要自己仔细研究错误代码.
make 的作用是开始进行源代码编译, 以及一些功能的提供, 这些功能由他的 Makefile 设置文件提供相关的功能, 比如 make install 一般表示进行安装, make uninstall 是卸载, 不加参数就是默认的进行源代码编译.
make 是 Linux 开发套件里面自动化编译的一个控制程序, 他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc ,ld 以及运行某些需要的程序进行编译的程序. 一般情况下, 他所使用的 Makefile 控制代码, 由 configure 这个设置脚本根据给定的参数和系统环境生成.
3,make install
这条命令来进行安装 (当然有些软件需要先运行 make check 或 make test 来进行一些测试), 这一步一般需要你有 root 权限 (因为要向系统写入文件)
- wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
- xz -d Python-3.6.7.tar.xz
- tar -xf Python-3.6.7.tar
- #yum install gcc -y
- ./configure --prefix=/opt/python
- make && make install
- ---------------------
用 python 查看默认安装路径
- >>> import sys
- >>> sys.path
- ['','/usr/local/lib/python36.zip','/usr/local/lib/python3.6',
- '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
- --------------------
python3.4 默认没添加 path
在 / etc/profile 最后一行添加
export PATH=$PATH:/opt/python/bin
然后
- source /etc/profile
- #python 快捷 path 就被改了, yum 用的 python2, 麻烦
1.2.3 牛逼的 python Tab 自动补全
下载 setuptool 3.4 以上已经默认安装了 easy_install-3.4
下载地址:
https://pypi.python.org/pypi/setuptools/36.2.7
下载命令:
wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac
解压:
unzip setuptools-36.2.7.zip
编译:
- python3 setup.py build
- python2 setup.py build
无误后安装:
- python3 setup.py install
- python2 setup.py install
下载 readline
- #yum install -y readline-devel -y
- #pip install readline
tab 补全
- #python startup file
- import readline,rlcompleter
- #tab completion
- readline.parse_and_bind('tab:complete')
- ----------------------------
python 历史记录
- #history file
- import os
- history_file = os.path.join(os.environ["HOME"],".pythonhistory")
- [root@mm_local ~]# echo "export PYTHONSTARTUP='/root/.pythonstartup'">> /root/.bashrc
- [root@mm_local ~]# source /root/.bashrc
- [root@mm_local ~]# cat /root/.pythonstartup
- import os
- import readline
- import rlcompleter
- import atexit
- #tab completion
- readline.parse_and_bind("tab: complete")
- #history file
- history_file = os.path.join(os.environ["HOME"],".pythonhistory")
- try:
- readline.read_history_file(history_file)
- except IOError:
- pass
- atexit.register(readline.write_history_file,history_file)
- del os,history_file,readline,rlcompleter
- [root@mm_local ~]# python
- Python 2.7.3 (default, Jun 5 2013, 22:40:26)
- [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import sys
- >>> sys.path<tab> #按 tab 键就可以自动补全了
- [root@mm_local ~]# python
- >>>
- >>> sys.path #按上下方向键即可找到历史命令
- View Code
加入 python 的启动环境变量, 永久生效自动补全
只需要启动时执行一条命令即可
- import rlcompleter, readline
- readline.parse_and_bind('tab:complete')
可以将上述的代码存于~/.pythonrc.py 文件中.
然后, 在~/.bashrc 中设置
export PYTHONSTARTUP=~/.pythonrc.py
这样, 每次启动终端, bash 就会设置 PYTHONSTARTUP 这个环境变量, 然后, python 启动时就会使用这个变量指定的文件中的初始化代码.
在 python 解释器中, 输入一个变量的一部分, 或者变量后面加句点, 再按 TAB 键就可以看到自动补全的威力.
来源: http://www.bubuko.com/infodetail-2964376.html