linux环境下的python安装过程图解(含setuptools)


Posted in Python onNovember 22, 2017

这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装。

一、下载python源码包

打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示:

linux环境下的python安装过程图解(含setuptools)

将python-2.7.3.tgz下载至/opt目录下。

二、python的解压

linux环境下的python安装过程图解(含setuptools)

三、python的编译与安装

在对python进行编译之前,必须对它进行配置。在unix/linux平台上的安装过程中,配置和编译过程全部已经自动化了,我们所需要做的就是输入几条命令然后回车即可。

通过执行脚本./configure开始编译, 这一过程可以决定系统的配置并创建相应的Makefile文件。你也可以传递一些参数选项来配置这个脚本。当这一步完成后,就可以运行make了。操作如下图所示:

linux环境下的python安装过程图解(含setuptools)

通过添加--prefix用于指定python的安装路径于/usr/local/python2.7,配置完成后,我们就可以执行make操作了.

linux环境下的python安装过程图解(含setuptools)

上面make编译的时间可能会比较长,大概5-6分钟,完成之后我们就可以进行安排操作了,输入指令make install(注意权限), 如下:

linux环境下的python安装过程图解(含setuptools)

下面我们查看一下安装后的python目录,指令如下:

linux环境下的python安装过程图解(含setuptools)

上面在./configure的时候增加python的安装目录,所以我们用ls命令查看此目录的信息。其中bin目录下用于存放python的相关执行程序。

但是,由于这是我们自己手动将python安装于/usr/local/python2.7目录下,此时$PATH环境变量无法找到此目录下的python解释器,为此可以增加一个软链接,代码如下:

linux环境下的python安装过程图解(含setuptools)

通过ln -s /usr/local/python2.7/bin/python /bin/python2.7命令可以在/bin路径下创建一软链接文件python2.7,当访问此链接文件,就可以间接地访问/usr/local/python2.7下的python程序了。这种方式与windows下的快捷方式类似。

下面可以通过运行python命令交互模式以查看刚刚安装的python版本情况:

linux环境下的python安装过程图解(含setuptools)

如上所示,通过直接执行python2.7可以访问/usr/local/python2.7下的python解释器,其版本为Python 2.7.3,这个正是我们刚刚下载的python版本,或者也可以通过命令:

python2.7 -V来查看。至此Python安装结束。

四、Setuptools的安装过程

1、setuptools的下载

setuptools源码的下载与python类似,google上一搜索第一个便是,通过wget命令来下载,指令如下:

linux环境下的python安装过程图解(含setuptools)

2、setuptools的解压

linux环境下的python安装过程图解(含setuptools)

3、setuptools的编译及安装

编译如下,用python2.7版本的程序来执行setup.py脚本,此脚本带参数build,执行编译过程。

(注意:如果用其它版本的python解释器来执行时,如python2.6,将把setuptools安装至相应的版本目录下)

linux环境下的python安装过程图解(含setuptools)

如果编译OK,就可以进行安装了,与上述指令类似,如下:

linux环境下的python安装过程图解(含setuptools)

如果不出问题就已经安装成功了,但是目前我安装不成功,显示如下错误:

linux环境下的python安装过程图解(含setuptools)

根据错误提示,主要错误在于“Compression requires the (missing) zlib module“,错误原因在于缺少zlib模块,但是最根本原因在于安装python2.7.3之前未进行依赖检查,最好通过命令sudo apt-get build-dep python进行检查。所以要解决zlib module缺少的问题,必须在安装python2.7.3之前先安装zlib1g-dev软件包,安装完成后再重新安装python2.7.3,然后再运行sudo python2.7 setup.py install,此时才可正常解决问题,如下所示:

linux环境下的python安装过程图解(含setuptools)

出现以上图就表明setuptools工具已经安装成功。并且可以看到此setuptools安装的路径在/usr/local/python/python2.7目录下。

我们可以查看一下:

linux环境下的python安装过程图解(含setuptools)

我们可以看到在刚安装的python目录下存在一些easy_install程序,这些就是setuptools工具的一些程序,方便我们后期安装第三方模块使用, 在此我们继续作个软链接:

linux环境下的python安装过程图解(含setuptools)

这样,当我们直接输入easy_install就可以访问此程序了。

4、用setuptools自动安装django及numpy

安装django命令如下:sudo easy_install djangosudo apt-get install libssl-dev

但是有时会发生“unknow url type: htpps"错误,如下图(本人就发生啦,很不幸!)

linux环境下的python安装过程图解(含setuptools)

出现以上问题的解决办法只有一个,即在安装python2.7.3之前未安装libssl-dev库,因此需要安装此库,然后再重新按上述方式安装一遍python和setuptools,最后再用easy_install安装django,此时才能成功安装。安装libssl-dev库命令如下:

sudo apt-get install libssl-dev

安装numpy命令如下:

sudo easy_install numpy

就可以自动安装了,这种方式和sudo apt-get install 类似

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
wxPython使用系统剪切板的方法
Jun 16 Python
Python的Django框架中if标签的相关使用
Jul 15 Python
python3中bytes和string之间的互相转换
Feb 09 Python
Django实现的自定义访问日志模块示例
Jun 23 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
python logging通过json文件配置的步骤
Apr 27 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 #Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 #Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 #Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 #Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 #Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 #Python
python不换行之end=与逗号的意思及用途
Nov 21 #Python
You might like
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
json简单介绍
2008/06/10 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
深入理解Python中的*重复运算符
2017/10/28 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python使用多进程的实例详解
2018/09/19 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
教师节促销活动方案
2014/02/14 职场文书
职工小家建设活动方案
2014/08/25 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
村委会贫困证明范文
2014/09/21 职场文书
工作时间调整通知
2015/04/24 职场文书
美容院员工规章制度
2015/08/05 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
高一作文之暖冬
2019/11/09 职场文书
redis protocol通信协议及使用详解
2022/07/15 Redis