边做边学Python Flask Web开发(1)-- 安装Python

原创 2016年05月31日 14:15:17

安装Python开发环境

为了照顾从未接触过Python的小伙伴,先从怎样安装Python开发环境开始吧。

在Windows平台上安装Python

安装Python2.7

Python官方网站提供了Windows的二进制安装包,因此在Windows平台安装Python开发环境非常简单。第一步当然去www.python.org下载你需要的安装程序。

选择Python的版本非常重要,当前Python活跃的版本有两个,分别是2.7.x和3.5.x,由于Flask对2.7系列的Python支持较好,本系列教程以2.7为例,因此请大家下载2.7系列的安装程序,至于32位和64位则可以根据操作系统的类型选择,目前大部分主流操作系统均为64位的,如果你的机器比较老,或者实在不确定是什么架构,可以选择32位的安装程序。

这里写图片描述

安装Python和安装其它Windows程序没有什么区别,需要注意的是,在选择安装组件的过程中,应当把“注册环境变量”打上勾,这样安装程序会为你设置好Python运行所需要的环境变量,省去了人工设置的麻烦。

这里写图片描述

安装VC编译器

如果多了解一些Python的内部机制,你可能会知道现我们介绍的Python实际上是CPython,即Python的C语言实现,Python还有Java、.Net平台的实现,不在本文讨论的范围内。因此,在Python后续使用的过程中,安装一些库的时候不可避免地要对C代码进行编译,因此,建议同时安装好VC编译器,以免后续在安装支持库的时候出现不可预料的问题。微软为Python发布了一个专用的Visual C++ 编译程序。

在Linux平台上(CentOS6.5)上安装Python

大部分Linux系统均内置了Python运行环境,但是通常这些Python运行环境的版本比较旧,比如CentOS系统自带的Python版本是2.6.6,使用使用它们作为开发环境,可能会有不少潜在的坑和风险,所以推荐使用新版本的Python开发环境。想要在Linux系统中使用新版Python,通常我们需要从源码编译安装。

后续步骤均在CentOS 6.5环境中测试通过

准备工作

首先,你需要从www.python.org得到一份Python 2.7.11的源代码,网站提供了gzip,xz两种格式的压缩包,选择你熟悉的压缩包并下载下来,也可以使用下面的命令下载。

wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz

下载后把源代码解压到合适的位置。

tar zxf Python-2.7.11.tgz

在编译Python代码前,我们需要暂停一下做点其它准备工作:由于Python编译过程中会根据系统中的一些组件支持情况,选择性地编译一些系统支持功能,因此,如果想让自己编译的Python好用,需要安装这些系统组件的开发包。

#yum install zlib zlib-devel openssl openssl-devel sqlite sqlite-devel

从源码安装

完成上述步骤后,就可以开始Python的编译过程了,需要注意的是,如果你需要使用pyinstaller,那么需要启用一些Python的共享库,即配置时使用–enable-shared,我们按这种方式继续。

#./configure --enable-shared
#make install

下面描述的问题,不一定每个人都能遇到,但是因为我碰到了,所以记录下来供大家参考。

无法执行python命令

如果使用了–enable-shared参数,我在安装完毕后命令行输入python命令时,提示找不到库文件的错误:

# python
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

这时候可以使用ldd /usr/bin/python查看哪些库缺失:

# ldd /usr/local/bin/python
    linux-vdso.so.1 =>  (0x00007fff9168f000)
    libpython2.7.so.1.0 => not found   ## <<<这里提示缺少libpython2.7.so.1.0,可以使用find / -name xxx来查找到该库文件
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003a77000000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003a76800000)
    libutil.so.1 => /lib64/libutil.so.1 (0x0000003a83800000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003a77400000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003a76c00000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003a76400000)

然后使用下面的命令将相应库链接到/lib64目录中。
ln -s /usr/local/lib/libpython2.7.so.1.0 /lib64/

命令行输入python仍然是旧版本的

Python默认的安装位置在 /usr/local/bin/python2.7,可以分别在命令行输入python -V/usr/local/bin/python2.7 -V 来查看是否版本一致,如果版本不一致需要把旧的python版本换掉:

#mv /usr/bin/python /usr/bin/python2.6.6  
#ln -s /usr/local/bin/python2.7 /usr/bin/python  

安装新版本python后,yum无法使用

换掉Python后,可能会出现yum无法使用的情况,这是因为yum使用的是旧版的python运行环境,这时需要修改一下yum的源代码。

***********
修改yum文件,不然yum没法使用
#vi /usr/bin/yum
将 #!/usr/bin/python 修改为 #!/usr/bin/python2.4
**********

安装常用工具

在后续的部署过程中,需要大量使用到pip等python工具,下面是安装方法。

安装pip

在安装pip前,需要安装setuptools工具包,将该工具包解压后,使用以下命令安装。
python setup.py install

安装pip步骤和setuptools一样,同样是运行python setup.py install

安装virtualenv

安装完pip后,可以使用pip install virtualenv安装virtualenv。安装完毕后,使用以下命令创建Python虚拟环境。

virtualenv venv           #创建虚拟环境
source venv\bin\active    #启用虚拟环境

然后在虚拟环境中用pip安装所缺的包

问题汇总

安装setuptools的时候提示找不到zlib

原因是没有安装zlib-devel

#yum install zlib
#yum install zlib-devel

然后重新编译安装python(不需要删除,直接make install)

pip安装virtualenv时提示没法导入HTTPSHandler

原因是没有安装openssl-devel

#yum install openssl
#yum install openssl-devel

然后重新编译安装python。

下一节我们将介绍Virtualenv的使用。Windows中使用virutalenv也请参阅下一节。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Python进阶(四十七)-python3使用pyinstaller实现将py文件打包成exe文件

Python进阶(四十七)-python3使用pyinstaller实现将py文件打包成exe文件前言  py文件通常需要运行在Python编程坏境中,而可执行exe文件更方便。   之前看过若干博...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2017年04月25日 17:02
  • 37071

pyinstaller使用总结

Github下载地址:https://github.com/pyinstaller/pyinstaller/1、下载完成后解压缩,然后在文件夹pyinstaller-develop下,将你的py文件放...
  • Jason__Liang
  • Jason__Liang
  • 2017年04月19日 15:03
  • 350

使用 PyInstaller 把python程序 .py转为 .exe 可执行程序

最近使用Python为项目开发一款绘图工具(绘出 声场三维模型)。因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件。     PyInstaller恰满足这...
  • gfsfg8545
  • gfsfg8545
  • 2013年11月12日 14:06
  • 25805

Python 打包单文件可执行程序

这两天用Python写了个小工具,想要在没有安装Python的机器上执行,首先想到了pyinstaller 。 pyinstaller 打包程序通常只需要一句命令即可: 1. 打开cmd控制台,将目...
  • u013314786
  • u013314786
  • 2017年07月05日 12:24
  • 689

pyinstaller打包sqlalchemy问题的解决方法

软硬件环境 python3 sqlalchemy pyintaller 3.2.1 问题描述最近在用pyinstaller打包一个使用了sqlalchemy库的python3工程中,碰到了打包后的可执...
  • djstavaV
  • djstavaV
  • 2017年08月28日 12:01
  • 218

边做边学Python Flask Web开发(1)-- 安装Python

为了照顾从未接触过Python的小伙伴,先从怎样安装Python开发环境开始吧。Python官方网站提供了Windows的二进制安装包,因此在Windows平台安装Python开发环境非常简单。第一步...
  • langkew
  • langkew
  • 2016年05月31日 14:15
  • 1134

使用pyinstaller发布pyqt4程序

最近在写一个开源项目,用到pyqt4,自然也就涉及到了发布程序。py2exe 没搞定,cx_Freeze遇到问题不好解决,所以第一次尝试当时放弃了,因为还没到发布的时候想把精力放在实现上。第二天群里有...
  • aslucky
  • aslucky
  • 2016年04月28日 21:53
  • 2298

边做边学Python Flask Web开发(3)-- Flask Hello World!

由于本系列教程叫做“边做边学”,因此我们在后续的讲解会以实践为主,穿插着介绍基本概念。请大家有条件的话跟着我们一起上机实践,而不要过于纠结深层次的原理,这些我们会在后续的教程中为大家慢慢解释。安装Fl...
  • langkew
  • langkew
  • 2016年06月06日 13:35
  • 3775

边做边学Python Flask Web开发(5)-- 使用Jinjia2模板(中)

上一篇介绍了Jinjia2模板系统的基本用法,本篇将深入对Jinjia2进行探讨,对网页设计中经常会用到的一些高级特性进行介绍。模板复用复用是网页设计非常常用的特性,比如我们的页面头部的网站名称和页尾...
  • langkew
  • langkew
  • 2016年07月06日 15:41
  • 3374

pyinstaller打包apscheduler问题的解决方法

软硬件环境 ubuntu 16.04 64bit python3.5 apscheduler 3.3.1 pyintaller 3.2.1 问题描述最近在项目中用到了apscheduler这个库,用来...
  • djstavaV
  • djstavaV
  • 2017年09月12日 18:25
  • 331
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:边做边学Python Flask Web开发(1)-- 安装Python
举报原因:
原因补充:

(最多只允许输入30个字)