[if !supportLists]一、[endif]python3的安装
首先,linux是自带python的,但是版本确实python2.x ,为了调试方便,也为了学习方便,我们需要安装python3.x , 版本可以随意,自己喜欢就好。但是python2必须要保留,因为linux很多系统命令都依赖python2,因此,我们要做到2和3共存,但不能混淆。具体步骤如下
[if !supportLists]1、[endif]下载python3安装包
在python的官网上找到具体的下载url,用wget命令进行下载。Wget命令下载的包默认存放在当前路径之下,因此,规范来讲,需要单独建立一个文件来保存下载的包。
首先,我会将下载的东西放在/usr/local/src这个目录下,在根据需要,用mv命令转移到想要安装的目录,我们将python3安装在/usr/local/python3文件夹中
[if !supportLists]0)[endif]安装依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
[if !supportLists]1)[endif]创建安装文件夹并进入
mkdir /usr/local/python3
cd /usr/local/python3
[if !supportLists]2)[endif]下载python3
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
我们下载的python版本是3.6.2
[if !supportLists]3)[endif]解压缩并进入
tar -xvJf Python-3.6.2.tar.xz这里根据后缀选择--后的参数,如果你下载的tgz或者tar.gz则:
tar -zxvf Python-3.6.2.tar.gz
cd Python-3.6.2
[if !supportLists]4)[endif]设置安装的目录,使得python3安装后的文件集中
./configure --prefix=/usr/local/python3
[if !supportLists]5)[endif]安装
make && make install
[if !supportLists]6)[endif]创建软链接(这一步也可以用添加环境变量的方法替代,个人觉得创建软链接方便,效果一样)
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[if !supportLists]7)[endif]测试
在终端输入python3,没有报错,那就是成功了
这个界面我们也可以看到我们的版本号是3.6.3,至此,python3.x安装完成
[if !supportLists]二、[endif]ipython3的安装
步骤如下:
1、下载ipython安装包
wget https://pypi.python.org/packages/79/63/b671fc2bf0051739e87a7478a207bbeb45cfae3c328d38ccdd063d9e0074/ipython-6.1.0.tar.gz#md5=1e15e1ce3f3f722da6935d7ac0e51346
这个地方你可以自己去官网找需要的版本,一般都下载最新版的,不过也不排除你用惯了老版本,自己喜欢就好,再用wget命令下载就可以,我一般都下载在/usr/local/src文件夹下
[if !supportLists]2、[endif]开始安装
[if !supportLists]1)[endif]解压并进入
tar xf ipython-6.1.0.tar.gz
cd /usr/local/src/ipython-6.1.0
[if !supportLists]2)[endif]安装
python3 setup.py install
[if !supportLists]3)[endif]创建软链接,将ipython3命令在/usr/bin中创建一个软链接
ln -s /usr/local/python3/bin/ipython /usr/bin/ipython3
如果就很完了的话那你的人品就是大爆发,一般上都要安装一些确实的模块
[if !supportLists]4)[endif]安装确实模块
首先你得在命令行输入ipython3看看报错信息,到底提示什么模块缺失。例如:
第一个遇到的就是这个traitlets这个模块缺失,我们使用pip3来安装
pip3 install traitlets
注意:一般上都不用在乎安装的模块是什么版本的,但有一个是例外的,那就是prompt-toolkit,这个哥们儿很让人糟心,2.x之后的版本中一个create..... (具体名字不来找了,看到就气)不存在了,妈了个蛋蛋的,在baidu上找了半天,一个答案都没有,只能google了,果然,第二个就是。说是2.0以后的版本的问题。没办法,只能安装一个老的版本,我装的是1.0.15。用pip3安装时制定版本,但是我没成功,不知道是不是我的语句有问题。反正我是用windows图形界面到官网的ftp上直接下的tar.gz文件,然后用工具传到linux中去的,在解压后安装,安装完之后,就搞定了。
之后还会遇到模块缺失,都用pip3正常安装就可以了。全部安装完之后,不报错了,恭喜你,安装成功了。
[if !supportLists]3、[endif]用pip3直接安装
据说用pip3 install ipython。如果你的pip版本比较老的话,还需要先升级pip之后才能安装ipython
pip3 install --upgrade pip
安装好之后,理论上还要讲ipython的命令软链接到系统bin目录中去
ln -s /usr/local/python3/bin/ipython3 /usr/bin/ipython3
理论上说,在命令行直接输入IPython3就可以访问,但是实际上,在创建软链接的时候就出现了报错信息
ln: failed to access '/usr/bin/ipython3': Too many levels of symbolic links
原因是,我之前在创建软链接时由于就在源命令(source)的文件夹,我就使用了如下命令:
ln -s ./ipython /usr/bin/ipython
其实,这样写是错误的。因为,如果source与target不是在同一目录,那么source的路径应该使用绝对路径,等我意识到这一点,又写了一遍绝对路径的ln,导致以上报错。正确的写不了,写好的执行不了,就导致了无法运行ipython。
解决,下到target目录下将原来错误创建的ipython链接给删了
rm /usr/bin/ipython
在用正确的方法创建软链接即可。