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

一、下载python源码包

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

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

二、python的解压

三、python的编译与安装

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

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

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

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

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

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

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

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

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

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

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

四、Setuptools的安装过程

1、setuptools的下载

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

2、setuptools的解压

3、setuptools的编译及安装

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

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

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

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

根据错误提示,主要错误在于“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,此时才可正常解决问题,如下所示:

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

我们可以查看一下:

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

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

4、用setuptools自动安装django及numpy

安装django命令如下:

sudo easy_install django

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

出现以上问题的解决办法只有一个,即在安装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 类似

linux环境下的python安装过程(含setuptools)的更多相关文章

  1. linux环境下的python安装过程

    一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: wget https://www.python.org/ftp/python/3. ...

  2. Linux环境下NodeJS的安装配置(HelloWorld)

    Linux环境下NodeJS的安装配置(HelloWorld) 最简单的环境安装,测试helloworld.给初学者!! 安装脚本,请仔细阅读逐行执行: #!/bin/bash #检查是否已经安装 r ...

  3. Linux环境下使用yum安装zip和unzip

    Linux环境下使用yum安装zip和unzip. yum install zip yum install unzip

  4. PCL库在Linux环境下的编译安装

    PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...

  5. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  6. Linux环境下MySQL5.7安装记录

    参考文档 <Installing MySQL on Unix/Linux Using Generic Binaries> https://dev.mysql.com/doc/refman/ ...

  7. Linux环境下卸载、安装及配置MySQL5.1

    Linux环境下卸载原有MySQL5.1数据库,并重新安装MySQL数据库的示例记录. 一.卸载MySQL 查看主机中是否安装了MySQL数据库: [root@RD-viPORTAL- ~]# rpm ...

  8. Linux环境下:vmware安装Windows报错误-缺少所需的CD/DVD驱动器设备驱动程序

    解决方法:将硬盘格式从SCSI改为IDE. 方法如下: 右键点击你新建的虚拟机名,点击最下面的setting,看到左侧第二行是hard disk 了么,你那里肯定是SCSI的,选中它,点最下面的rem ...

  9. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

随机推荐

  1. shell编程实战总结

    最近复习一下shell,顺便高级进阶一下,之前写脚本能简单尽量简单来,发现好多高深的东西还是没有理解,因此在这里记录一下整个过程并做相应的总结. 通过上代码的方式来介绍,后续可能会调整相应的排版 1. ...

  2. PHP中mysql_fetch_row()、mysql_fetch_assoc()和mysql_fetch_array()的联系

    总是记不住或者混淆mysql_fetch_row().mysql_fetch_assoc()和mysql_fetch_array()这三个函数的朋友们注意了,今天我在这里给大家总结一下他们之间的关系, ...

  3. node.js的安装与第一个hello world、node.js的初始化

    1.下载node.js文件 2.windows下点击安装  重复下一步即可 3.编辑工具  EditPlus编辑器 4.新建保存目录的文件夹,并新建一个文本文档 5.打开EditPlus编辑器  打开 ...

  4. boost::asio学习(定时器)

    #include <boost/asio.hpp> #include <iostream> void handle1(const boost::system::error_co ...

  5. Censor(KMP)

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her j ...

  6. 控制bin文件夹里面的dll不复制到临时目录中( <hostingEnvironment shadowCopyBinAssemblies="false" />)

    One of the things that makes developing ASP.NET applications very cool is that you can rapidly proto ...

  7. AGS Server10.1中地图文档更新如何使服务更新

    一.需求背景 发布服务的mxd文档发生了更改,如何对该mxd文档映射的地图服务进行更新. 二.分析 由于在10.1中地图服务的发布采用的是msd的形式,也就是虽然在ArcMap中准备的地图文档是mxd ...

  8. MySQL中事务的分类

    从事务理论的角度来看,可以把事务分为以下几种类型 扁平事务(Flat Transactions) 带有保存点的扁平事务(Flat Transactions with Savepoints) 链事务(C ...

  9. 安装CentOS 7.4 可能会出现的坑以及解决方案

    安装CentOS 7.4 可能会出现的坑以及解决方案 (解决方法不唯一,如果行不通的话emmmm~~, 百度会啥你会啥~~) 坑.0X01 解决: 退出虚拟机,以管理员权限运行 坑.0X02 解决: ...

  10. Django 视图系统(views)

    介绍 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图 ...