CentOS 7.5升级Python和安装IPython
admin
2023-07-10 03:43:30
0

CentOS 7.5,系统自带的Python版本是2.7.5。安装IPython2.3需要Python 2.7或者大于等于3.3。
安装步骤
1、安装开发库文件
编译Python只要有gcc编译器就足够了,但一些扩展模块需要额外的库,否则一些Python模块将不可用(比如Python的zlib模块需要zlib-devel,ssl模块需要openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装zlib、ssl和sqlite3的库文件。
yum install zlib-devel openssl-devel sqlite-devel

2、下载Python
目前最新版本为3.7.3。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar zxvf Python-3.7.3.tgz

3、编译安装
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。
#yum install libffi-devel -y
#make install
若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装,为节省读者时间,放上链接
#wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
#rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm
安装完成后重新进行make install

为了方便管理,将Python安装到/usr/local/python路径下。
cd Python-3.7.3
./configure --prefix=/usr/local/python
make
make install

4、替换系统自带Python
安装后,Python3.7.3的可执行文件位于/usr/local/python/bin。先将系统自带的Python重命名为python2.7.5,再创建新的Python到/usr/bin目录下的符号链接。
mv /usr/bin/python /usr/bin/python2.7.5 #其实不要这句也行,加上了预防万一
ln -sf /usr/local/python/bin/python3.7 /usr/bin/python
再执行python --version,可以看到已经是3.7.3版了。
5、修正yum
现在,系统默认调用Python 3.7.3,执行yum会出现如图四所示错误。
解决方法:将/usr/bin/yum文件和/usr/libexec/urlgrabber-ext-down开头的第一行代码:
#!/usr/bin/python
修改为:
#!/usr/bin/python2.7.5

6、安装setuptools和pip
玩Python不能没有setuptools和pip。这里使用pip提供的安装脚本,自动安装setuptools和pip。
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
因为之前更改了Python的安装目录,Python扩展模块的可执行文件会被安装到/usr/local/python/bin目录下。为了能够直接运行这些文件,我们要么创建到/usr/bin目录下的符号链接,要么将/usr/local/python/bin目录添加到PATH环境变量中。为了避免不必要的冲突,这里采用创建符号链接的方式。
ln -sf /usr/local/python/bin/pip /usr/bin/pip
ln -sf /usr/local/python/bin/easy_install-3.7 /usr/bin/easy_install

7、安装Ipython
1)可以访问外网的情况下,通过pip安装。
有了pip,安装IPython简直So easy。(同样将IPython的可执行文件链接到/usr/bin目录下)
pip install ipython
ln -s /usr/local/python/bin/ipython /usr/bin/ipython

2)在不能访问外网的情况下,通过源码安装。
ipython下载地址: https://pypi.org/project/ipython/#files
$ tar -xzf ipython-7.4.0.tar.gz
$ cd ipython-7.4.0
$ python setup.py install

8、安装readline扩展模块
没有readline支持的IPython弱得没法用。这里安装readline:
yum install readline-devel
yum install patch #相信我,不安装这个就无法编译readline
pip install readline
之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。

CentOS 7.5升级Python和安装IPython
图六:安装好的Ipython

启动ipython报错
ModuleNotFoundError: No module named 'plotly'
解决方法(缺少其他module,方法以此类推):
pip install plotly
pip install plotly --upgrade

相关内容

热门资讯

美伊谈判濒临破裂之际,伊朗议长... 因为以色列持续对黎巴嫩进行军事打击,伊朗宣布暂停同美国的谈判。不过美国总统特朗普称,对话仍在继续。谈...
罕见!以军政策发生“重大转变” 新华社北京6月1日电 题:罕见纵深推进,以军对黎行动会否搅动美伊谈判新华社记者刘品然 阚静文 席玥以...
山西太原发现一处新石器遗址,出... 山西省太原市文物保护研究院协同相关科研机构,近期在太原市阳曲县西盘威村发现一处新石器时代重要遗址——...
伊媒发布穆杰塔巴罕见照片 伊朗塔斯尼姆通讯社6月1日发布了一张最高领袖穆杰塔巴的照片。照片中,穆杰塔巴面露笑容,抱着一个婴儿。...
福建“泡药杨梅”曝光后,浙江杨... 这两天,浙江本地杨梅少量进入市场。虽然受到此前福建 “泡药杨梅” 事件影响,市场整体销量相比去年同期...
尺素金声 | 前4月规上工业企... 5月27日,国家统计局发布最新数据显示,今年前4月,全国规上工业企业实现利润同比增长18.2%,增速...
郑丽文:台湾民众越来越了解“台... 针对台湾《联合报》民调显示,63%受访者民意希望维持现状,即将访美的中国国民党主席郑丽文1日表示,民...
美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...