Linux安装python3以及python自动补全
安装python3
1. 下载python源码包
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
2. 解压缩源码包, 取出xz后缀
xz -d Python-3.6.7.tar.xz
3. 解压缩源码包, 取出tar后缀
tar -xf Python-3.6.7.tar
4. 解决编译安装python3所需要的软件依赖问题, 非常非常非常重要
注: 解决这些依赖关系后期才能正常运转python3.6, 如果不解决会出现各种错误信息, 还要重新编译python3.6
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
5. 开始进行编译安装(分为三步)
1. 调用源码包路径下的configure这个脚本文件
./configure --prefix=/opt/python36/
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制
上面的意思是将该软件安装在 /opt/python36/下面,执行文件就会安装在 /opt/python36/bin(而不是默认的 /usr/local/bin),资源文件就会安装在 /opt/python36/share(而不是默认的/usr/local/share)
2. 执行make指令, 开始编译(此步骤还不会生成/opt/python36这个文件夹)
这一步就是编译, 大多数的源码包都经过这一步进行编译(当然也有些perl或者python编写的软件调用perl或python来进行编译)
如果在make过程中出现error, 需要记下错误代码(不仅是最后一行), 有可能是bug也有可能是系统内少了一些依赖库, 需要仔细研究错误代码
make的作用是开始进行源代码编译, 以及一些功能的提供, 这些功能由他的Makefile设置文件提供相关的功能, 比如make install一般代表安装, make uninstall是卸载, 不加参数就是默认的进行源代码编译
make是Linux开发套件里面自动化编译的一个控制程序, 它通过借助Makefile里面编写的编译规范进行自动化的调用gcc, ld以及运行某些需要的程序进行编译的程序. 一般情况下, 它所使用的Makefile控制代码, 由configure这个设置脚本根据给定的参数和系统环境生成
3. 执行make install进行安装(此步骤才是安装软件的过程)
这条命令来进行安装(有些软件需要先运行make check或者make test来进行一些测试), 这一步一般需要有root权限(因为要向系统写入文件)
此步骤才会生成一个/opt/python36/这个软件安装路径
6. 编译安装好之后, 没有报错, 就可以正常使用python3
7. 快捷使用python3.6的方式
一下配置方式, 二选一, 推荐使用path配置
1. 软连接(这种方法比较麻烦, 并且不适用virtualenv的创建)
ln -s /opt/python36/bin/python3.6 /usr/bin/python3 这一步还没有pip
ln -s /opt/python36/bin/pip3 /usr/bin/pip3
2. 环境变量的配置
配置python36的bin目录, 加入环境变量
因为path的路径查找是有优先级顺序的, 并且在配置virtualenv的嘶吼, 优先找到的python环境为base环境
所以请将python36的bin目录放到path的第一层
/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
3. 配置环境变量, 永久生效
将启动文件写入/etc/profile中, 每次登录都生效
vim /etc/profile # 将此配置写入到最底行 PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -------------------------------------------------------------------------- # 执行下面命令, 让python3生效 source /etc/profile
8. 检查所有python的文件夹关系
[root@localhost/opt 11:05:09]#ls python36 (这个是工作的,已经安全号的python3软件包目录) Python-3.6.7 (这个是python3的源码文件夹,安装成功后可删) Python-3.6.7.tar 可删
安装ipython解释器
1. 安装ipython, 指定豆瓣源下载
pip3 install -i https://pypi.douban.com/simple ipython
2. 安装jupyter
pip3 install -i https://pypi.douban.com/simple jupyter
3. 进入ipython环境, 给jupyter设置密码
ipython #进入ipython的交互式界面 from IPython.lib import passwd passwd() #生成jupyter登录的密码
4. 生成jupyter的配置文件
jupyter notebook --generate-config --allow-root
# 修改如下配置一致即可,去掉注释符 # 才能读取代码 c.NotebookApp.ip = '建议写当前linux机器的ip地址' c.NotebookApp.open_browser = False # 设置不自动打开浏览器 c.NotebookApp.port = 8000
5. 启动jupyter
jupyter notebook --allow-root #启动notebook ip:8000 #端口访问你的jupyter页面
6. 如果遇到启动不了的问题, 很可能是防火墙没有关闭
iptables -L #查看防火墙规则 iptables -F #清空防火墙规则 systemctl stop firewalld # 关闭防火墙服务 systemctl disable firewalld # 从开机自启中, 移除这个防火墙服务, 永久关闭
python Tab自动补全
下载setuptool3.4以上已经默认安装了east_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")
加入python的启动环境变量, 永久生效自动补全
只需要启动时执行一条命令即可 import rlcompleter, readline readline.parse_and_bind('tab:complete') 可以将上述的代码存于~/.pythonrc.py文件中。 然后,在~/.bashrc中设置 export PYTHONSTARTUP=~/.pythonrc.py 这样,每次启动终端,bash就会设置PYTHONSTARTUP这个环境变量,然后,python启动时就会使用这个变量指定的文件中的初始化代码。 在python解释器中,输入一个变量的一部分,或者变量后面加句点,再按TAB键就可以看到自动补全的威力。