打造Python开发环境之Python环境

人生苦短,我用Python

一、升级到python2.7

  开发环境的系统是centos 6.0, 默认的python版本是2.6.6, 由于线上环境是python2.7,为了防止版本差异产生的问题,所以要升级python,在centos下升级python有是那种方式

  • yum安装,最简单,但是官方下载源版本更新慢,所以需要自行更改开发机的下载源,如网易的
  • rpm安装
  • 源码安装

这里只介绍源码更新的过程,因为源码安装,个性化定制的东西很多,比较可控吧

安装python,需要先下载一会儿编译期间或者开发期间会用到的依赖组件

yum groupinstall "Development tools"
yum install MySQL-python zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel -y
yum install python-psycopg2 -y
yum install gcc python-devel -y
yum install python-memcached -y

接下来就可以开发下载python了,由于某些原因,python官网会被q(大家都懂得),所以建议更换下载源,如:搜狐的http://mirrors.sohu.com/python

wget http://mirrors.sohu.com/python/2.7.7/Python-2.7.7.tgztar -xvf Python-2.7.7.tgzcd Python-2.7.7./configure --prefix=/usr/local/python2.7makesudo make install

在我第一次编译过程中,遇到了很多奇葩的问题,如:

Python build finished, but the necessary bits to build these modules were not found:  _bsddb                              _curses                                _curses_panel
  _sqlite3                   _ssl                                  _tkinter
  bsddb185                   bz2                                    dbm
  dl                                         gdbm                                  imageop
  readline                   sunaudiodev             zlib
To find the necessary bits, look in setup.py in detect_modules() for the module‘s name.

给的提示信息,很明显是编译期间对应的模块没找到,所以还需要提前安装依赖包,在网上找到一些依赖包对应关系,如下:

模块 依赖 说明
_bsddb bsddb Interface to Berkeley DB library。Berkeley数据库的接口
_curses ncurses Terminal handling for character-cell displays。
_curses_panel ncurses A panel stack extension for curses。
_sqlite3 sqlite DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安装sqlite-devel
_ssl openssl-devel.i686 TLS/SSL wrapper for socket objects。
_tkinter N/A a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程序可以忽略TKinter
bsddb185 old bsddb module 老的bsddb模块,可忽略。
bz2 bzip2-devel.i686 Compression compatible with bzip2。bzip2-devel
dbm bsddb Simple “database” interface。
dl N/A Call C functions in shared objects.Python2.6开始,已经弃用。
gdbm gdbm-devel.i686 GNU’s reinterpretation of dbm
imageop N/A Manipulate raw image data。已经弃用。
readline readline-devel GNU readline interface
sunaudiodev N/A Access to Sun audio hardware。这个是针对Sun平台的,CentOS下可以忽略
zlib Zlib Compression compatible with gzip

我安装了readline-devel,sqlite-devel,bzip2-devel.i686,openssl-devel.i686,gdbm-devel.i686,libdbi-devel.i686,ncurses-libs,zlib-devel.i686,这些依赖包,重新编译,就一切OK。

安装好之后,确认一下是否安装正确

/usr/local/python2.7/bin/python2.7 -V

但是,执行python -v,仍然是python 2.6, 所以做一个软连接

ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

现在执行python -v,显示的就是ptyhon2.7啦

But,还有最后一个问题,更改后,yum会无法运行,所以修改/usr/bin/yum文件的第一行

#!/usr/bin/python

改成

#!/usr/bin/python2.6

再次运行yum,everthing is  ok!

二、安装pip

先安装setuptools,如果python3.0版本,要安装distutils依赖包

wget https://pypi.python.org/pypi/ez_setup

解压,进入目录,执行:

ptyhon ez_setup.py

easy_install 就安装好了,

接下来,安装pip

wget https://pypi.python.org/pypi/pip

解压,进入目录,执行:

python setup.py install

安装成功后,执行 pip ,提示  command not found

原来pip还没有放入到PATH路径中。

# echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/titan/bin

所以 要将pip路径加入到系统环境变量中

# vim /etc/profile

在文档最后加入

export PATH="/usr/local/python-2.7.7/bin:$PATH"

保存退出。执行  # source /etc/profile

不报错,则表示成功

再次执行  # pip -v   ,显示命令提示。

还是由于众所周知的原因,pypi官网的链接也很慢,所以建议使用国内的pypi源,如豆瓣: http://pypi.douban.com

添加~/.pip/pip.conf,并写入如下内容:

[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

everthing is ok!

三、VirtualEnv

一台机器上可能会有多个项目,为了保证每个项目的依赖环境都是纯净的,只提供给自己的,这时就需要VirtualEnv啦!

virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:

  1. 在没有权限的情况下安装新套件
  2. 不同应用可以使用不同的套件版本
  3. 套件升级不影响其他应用

1、安装VirtualEnv

通过pip安装,也可以通过yum安装

# pip install virtualenv

使用方法:

virtualenv [虚拟环境名称]

如,创建tjf_env的虚拟环境

virtualenv tjf_env

默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数--no-site-packages建立虚拟环境

virtualenv --no-site-packages [虚拟环境名称]

启动虚拟环境

cd ENVsource ./bin/activate

注意此时命令行会多一个(ENV),ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。
退出虚拟环境:

deactivate

在虚拟环境安装Python套件Virtualenv 附带有pip安装工具,因此需要安装的套件可以直接运行:

pip install [套件名称]

如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

或者让在执行pip的时候让系统自动开启虚拟环境:

export PIP_RESPECT_VIRTUALENV=true

2、安装Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

  1. 将所有虚拟环境整合在一个目录下
  2. 管理(新增,删除,复制)虚拟环境
  3. 切换虚拟环境
  4. ...

安装: sudo pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。

1. 创建目录用来存放虚拟环境

mkdir $HOME/.virtualenvs

2. 在~/.bashrc中添加行:  export WORKON_HOME=$HOME/.virtualenvs

3. 在~/.bashrc中添加行: source /usr/local/bin/virtualenvwrapper.sh

4. 运行:  source ~/.bashrc

此时virtualenvwrapper就可以使用了。
列出虚拟环境列表  workon

新建虚拟环境  mkvirtualenv [虚拟环境名称]

启动/切换虚拟环境  workon [虚拟环境名称]

删除虚拟环境  rmvirtualenv [虚拟环境名称]

离开虚拟环境  deactivate

VirtualEnv完毕,everything is ok!

四、web框架

有了pip的基础,想安装什么,简直如探囊取去一般轻松自如:

pip install django
pip install tornado
pip install flask
时间: 2024-08-07 21:08:24

打造Python开发环境之Python环境的相关文章

Python开发:初识Python

Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众

Python开发day1--初识Python

Python第一天. Python介绍 Python是一门编程语言,和英语,汉语,法语等世界各个国家使用的语言并无区别,编程语言用于程序员和计算机之间的沟通. 编程语言我们知道有机器语言.汇编语言.高级语言. 机器语言:是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合. 优点:灵活.直接执行和速度快. 缺点:不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行. 汇编语言:实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文

Python开发程序:生成环境下统计网站访问日志信息

日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他位置,当前日志清空 NGINX日志配置信息: http { log_format main '$remote_addr - [$time_local] "$request" ' ' - $status "User_Cookie:$guid" '; } server {

【Python开发实战】Python环境的配置

1. 安装Pythonsudo aptitude -y install python-dev 安装Distribute:支撑模块构建与导入的包sudo chmod -R 0775 /usr/localsudo chgrp -R allen /usr/localwget http://python-distribute.org/distribute_setup.pysudo python distribute_setup.py 查看版本python -V 2. 安装pip:wget https:/

Python 开发:初识Python(记笔记)

Python环境 Python安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pythong27 3.配置环境变量 [右键计算机]->[属性]->[高级系统设置]->[高级]->[环境变量]->[第二个内容框中找到 变量名为Path的一行,双击]->[Python安装目录追加到变值中,用:分割] 如:原来的值;C:\python27,切记前面有分号 Python入门 一.第一句Python代码 创建

在Eclipse中搭建Python开发环境

在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 笔者最近迷上了Python,但是一直没有找到满意的IDE.虽然使用Vim编辑器+命令行的方式比较酷,然而一个优秀的IDE确实能让开发速度提升不少.于是笔者想到Eclipse——一个神一样的利器.经过一番曲折,终究修成正果.整理成文,希望对热爱的Python的童鞋有所帮助. 正文 首先我们需要明白一点

翻译:打造基于Sublime Text 3的全能python开发环境

原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ 原文标题:Setting Up Sublime Text 3 for Full Stack Python Development 翻译:打造基于sublime text 3的全能Python开发环境 Sublime Text 3 (ST3) is lightweight, cross-platfo

老司机带你用vagrant打造一站式python开发测试环境

前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python开发测试环境. 目的 让你在Windows下,也能愉快的使用Linux环境调试Python. 适用人群:Python新手和希望在Windows下使用Linux环境调试Python的小伙伴们. 难度:super easy 最终效果:只用一个xshell终端(其他类似的都可以),启动ubuntu虚拟机,py

打造Python开发环境之初篇

古语有云: 工欲善其事,必先利其器 拥有自己的一套得心应手的Python开发环境,开发起来,简直如丝般顺滑.以我工作中使用到的Python开发环境(主要是Web应用),先做个总体介绍 Python环境相关:戳这里 Python # 用的就是它 PIP  # python下超豪华包管理工具 VirtualEnv  # Python的虚拟环境沙盒 Web框架  # web开发为主 如:Flask.Django.Tornado... 服务环境相关: Nginx  # 果断舍弃apache Mysql

vim+python开发环境打造

1.一个现成的一键安装脚本 curl -O https://raw.githubusercontent.com/vince67/v7_config/master/vim.sh 2.bash vim.sh 3.我的.vimrc文件,亲测可用 let vim_plug_just_installed = 0let vim_plug_path = expand('~/.vim/autoload/plug.vim')if !filereadable(vim_plug_path) echo "Install