这里我不想采用诸如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. MariaDB二进制包简单安装部署

    一.简介: MySQL最早是由Michael Widenius在所研发,而在后来Michael先生以10亿美元的价格把MySQL卖给了SUN以后不久SUN就被Oracle公司给收购了,在Oracle收 ...

  2. PMP杂谈--项目组织,矩阵组织,职能型组织,复合型组织

    (1)项目组织的优缺点:优:项目经理权力大:缺:解散时焦虑.没有提拔权力,不利于专业技术积累,设备反复.难以保证资源的充分利用. (2)矩阵组织的优缺点:优:资源利用率高,横向信息沟通.项目经理权力提 ...

  3. JDK的命令具体解释操作

    JDK的命令具体解释1 rmic 功能说明: rmic 为远程对象生成 stub 和 skeleton. 语法: rmic [ options ] package-qualified-class-na ...

  4. 文件存储 FileUtil FileBaseDto

    package com.guige.base.fileutils; import com.alibaba.fastjson.JSONArray; import com.aliyun.oss.Servi ...

  5. http 状态吗

    100:继续  客户端应当继续发送请求.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应. 101: 转换协议  在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消 ...

  6. 深入PHP内核 SAPI探究

    转自 http://www.csdn.net/article/2014-09-26/2821885-exploring-of-the-php-2 SAPI是Server Application Pro ...

  7. C# 如何判断系统是32位还是64位

    摘自:http://www.cnblogs.com/tom-tong/archive/2012/03/12/2392173.html public static int GetOSBit() { tr ...

  8. 3、ACE-实用生活口语---讲打电话Talking on the phone

    (3)需要留口信吗?请让他给我回电话Would you like to leave a message?May I take a message for you ?Please tell him to ...

  9. 《从零开始学Swift》学习笔记(Day 13)——数据类型之整型和浮点型

    Swift 2.0学习笔记(Day 13)——数据类型之整型和浮点型 原创文章,欢迎转载.转载请注明:关东升的博客    Swift提供8.16.32.64位形式的有符号及无符号整数.这些整数类型遵循 ...

  10. 网络摄像机进行互联网视频直播录像方案的选择,EasyNVS or EasyCloud or EasyGBS?

    背景需求 互联网视频直播越来越成为当前大势:直播的需求往往都伴随在录像的需求,对于录像,不同的场景又有不同的方案选择: 本篇博客将会介绍对应的几种录像方案,可以帮助有互联网录像需求的用户进行对应的录像 ...