django学习之pythonbrew部署开发环境

关于pythonbrew的介绍:https://github.com/utahta/pythonbrew

中文文档:http://pythonbrew.readthedocs.org/en/latest/

选择pythonbrew的原因:

  • 融合了virtualenv,创建隔离环境更方便快捷
  • 具有pyenv的所拥有的所有功能(个人感觉更强悍)

使用示例

  • 列出可安装的 python 版本:pythonbrew list --know
  • 安装某个版本的 python : pythonbrew install 2.7.3
  • 删除已安装的某版本的 python : pythonbrew uninstall 2.7.3
  • 列出已安装的 python 版本(当前使用的版本后会用星号标记): pythonbrew list
  • 使用某个版本的 python (仅当前终端窗口有效): pythonbrew use 2.7.3
  • 切换到某个版本的 python (一直有效): pythonbrew switch 2.7.3
  • 清理陈旧的源码目录和档案包: pythonbrew cleanup
  • 升级到pythonbrew到最新版本: pythonbrew update
  • 禁用pythonbrew(即切换回原始环境): pythonbrew off
  • 创建python隔离环境(借助virtualenv):

安装脚本:

(fuck)[[email protected] ~]# cat pythonbrew.sh 
#!/bin/bash
#Function: create pythonbrew env
#Author: zhuima
#Date: 2014-11-06
#Version: 0.1
#
REVTAL=0
# import Functions 
. /etc/rc.d/init.d/functions
# check network
. /etc/sysconfig/network
if [ $NETWORKING = ‘no‘ ];then
    exit $REVTAL
fi
# install epel yum source
function epel_install(){
    if rpm --version &>/dev/null;then
        rpm -ivh  http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    else
        exit $REVTAL
        print "please checking your yum configure!"
    fi
}
# install base packages
function base_packages(){
     if yum repolist &>/dev/null;then
         yum install yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel patch -y
     else 
         exit $REVTAL
         print "please checking your yum configure!"
     fi
}
# install pip
function pip_install(){
	if yum repolist &>/dev/null;then
	    yum install python-pip -y
	else
	    exit $REVTAL
            print "please checking your yum configure!"
        fi
}
# install pythonbrew
function pythonbrew_install(){
	if pip -V &>/dev/null;then
           pip install pythonbrew
           pip install virtualenv
        else
           exit $REVTAL
           print "please checking your pip configure!"
	fi
}
# config pythonbrew env
function pythonbrew_env(){
	echo ‘[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"‘ >>~/.bashrc 
	. /usr/bin/pythonbrew_install && source ~/.bashrc 
}
# install python 2.7.6
function python_install(){
    if $HOME/.pythonbrew/bin/pythonbrew --version &>/dev/null;then
        $HOME/.pythonbrew/bin/pythonbrew install 2.7.6
    else
        exit $REVTAL
        print "please checking your pyenv configure"
    fi
}
# install ipdb、ipython
function install_ipython(){
    if pip --version &>/dev/null;then
	    pip install ipdb 
	    pip install ipython
    else
	    yum install pip -y
		pip install ansible
	        pip install ipython
    fi

}
while :;do
cat << EOF
+-------------------------------------------+
|1、Install epel_install		    |
|2、Install base_packages	            |
|3、Install pip_install			    |
|4、Install pythonbrew_install 		    |
|5、Install pythonbrew_env		    |
|6、Install python_install		    |
|7、Install install_ipython		    |
|8、One-Click Setup			    |
|9、[Q|q|quit] to quit			    |
+-------------------------------------------+
EOF
read -p "select which one packages you want to install: " choice
case $choice in
	1)
	  epel_install
	  ;;
	2)
      base_packages
	  ;;
	3)
	  pip_install
	  ;;
	4)
	  pythonbrew_install
	  ;;
	5)  
	  pythonbrew_env
	  ;;
	6)
	  python_install
	  ;;
	7)
	  install_ipython
	  ;;
	8)
	  epel_install
          base_packages
	  pip_install
	  pythonbrew_install
	  pythonbrew_env
	  python_install
	  install_ipython
	  ;;
	Q|q|quit)
	  exit $REVTAL
	  ;;
	*)
	  echo "Usage: select one number(1|2|3|4|5|6|7|8|9)"
	  exit $REVTAL
	  ;;
esac
done

简单演示:

  • 创建一个名为flask的虚拟坏境并切换到这个虚拟环境下面
[[email protected] blog]# pythonbrew venv create flask
Creating `flask` environment into /root/.pythonbrew/venvs/Python-2.7.6
Already using interpreter /root/.pythonbrew/pythons/Python-2.7.6/bin/python
New python executable in /root/.pythonbrew/venvs/Python-2.7.6/flask/bin/python
Installing setuptools.............done.
Installing pip...............done.
[[email protected] blog]# pythonbrew venv use flask
# Using `flask` environment (found in /root/.pythonbrew/venvs/Python-2.7.6)
# To leave an environment, simply run `deactivate`
(flask)[[email protected] blog]# 
(flask)[[email protected] blog]# 
(flask)[[email protected] blog]#
  • 在这个虚拟环境下安装版本为1.6的django
(flask)[[email protected] ~]# pip install django==1.6            # 安装版本为1.6的django
Downloading/unpacking django==1.6
  Downloading Django-1.6.tar.gz (6.6MB): 6.6MB downloaded
  Running setup.py egg_info for package django
    
    warning: no previously-included files matching ‘__pycache__‘ found under directory ‘*‘
    warning: no previously-included files matching ‘*.py[co]‘ found under directory ‘*‘
Installing collected packages: django
  Running setup.py install for django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755
    
    warning: no previously-included files matching ‘__pycache__‘ found under directory ‘*‘
    warning: no previously-included files matching ‘*.py[co]‘ found under directory ‘*‘
    changing mode of /root/.pythonbrew/venvs/Python-2.7.6/flask/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
(flask)[[email protected] ~]# python -c "import django;print (django.get_version())"  # 在我们创建虚拟环境中打印django的版本
1.6
(flask)[[email protected] ~]# pythonbrew off
[[email protected] ~]# python -c "import django;print (django.get_version())"        # 打印django版本,这里提示没有这个模块
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named django
[[email protected] ~]#

撸完收工,也就是一个工具而已,不必在意这些细节,能用就好,python多版本管理工具很多的,找一个适合自己的就行,多了反而会被其所左右~

时间: 2024-10-16 04:33:45

django学习之pythonbrew部署开发环境的相关文章

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclipse方便. 下载 进入官网:http://eclipse.org/downloads/. 找到相应的版本进行下载,我这里用的是eclipse-SDK-3.7.1-linux-gtk版本. 解压 下载下来一般是tar.gz文件,运行: $tar -zxvf eclipse-SDK-3.7.1-linu

快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去

Django学习笔记——安装(linux环境)

1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django >>> djan.VERSION >>> django.VERSION (1, 6, 5, 'final', 0) 2. 安装数据库MySQL 说明:使用python连接到MySQL前提是需要让一个python连接到MySQL的接口——MySQLdb 下载:http://sourceforge.net/projects/

使用docker-compose来部署开发环境

docker-compose的作用 docker-comopse可以帮助我们快速搭建起开发环境,比如你可以去把redis,mongodb,rabbitmq,mysql,eureka,configserver等一次部署在本机,然后让它们做为其它项目的基础,这是可以实现的. 容器之间的通讯-links 由于每个docker实例都是一个封闭的环境,所以默认情况下它们是不能共享的,即你的rabbit容器不能连接你的redis容器,你的configserver不能连接你的eureka容器,如果希望让它们之

[部署开发环境]部署django的生成环境nginx+uwsgi+django

#教程 # ubuntu部署django项目 # 部署准备 - ubuntu操作系统 -- vagrant虚拟 - Nginx服务器 -- 安装在ubuntu的web服务器 - uWSGI应用协议服务模块 -- python的uwsgi模块 - python虚拟环境 -- virtualenv - django框架 - nginx 配置(http <--> socket) - uwsgi配置(socket<-->wsgi) - 系统配 详情见图片linux部署django项目图.p

小白学习Python之路---开发环境的搭建

本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum).1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧<蒙提.派森干的飞行马戏团>(Monty Pyth

C#学习笔记一:C#开发环境的设置

C#是.NET Framework的一部分,用于编写.NET应用程序. C#集成开发环境(IDE) 微软提供了以下C#编程开发工具: Visual Studio 2010 (VS) Visual C# 2010 Express (VCE) Visual Web Developer 最后两个是可以免费从微软的官方网站下载.利用这些工具,可以写各种各样的C#程序,从简单的命令行应用程序更复杂的应用.也可以使用一个基本的文本编辑器,如记事本编写C#源代码文件和代码编译成使用命令行编译器,这也是.NET

Android 学习笔记 2 Android开发环境的安装(Eclipse Bundle)

搭建eclipse开发环境,一般要经过 安装JDK.安装Eclipse.下载Android SDK.在Eclipse中安装ADT.在Eclipse中配置Android SDK.通过SDK Manager对Android SDK进行管理等几个比较麻烦的步骤. 后来Google推出了 adt-bundle 将ATD.SDK整合到Eclipse中,这样对于新手来说就免去了很多步骤,入门更容易了. 在此推荐一个网站 http://tools.android-studio.org/ 可以免去搬梯子去And

vagrant部署开发环境,爽的不是一点点

首先说说vagrant与docker的区别 vagrant是用来管虚拟机的,而docker是管容器的(如不准确,还望指正) docker的启动速度当然是无可比拟的,而vagrant当然不是要很docker比启动速度的,vagrant就是管虚拟机的,虚拟机与容器的区别,大家见仁见智. 再来介绍一下vagrant: Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境---百度百科 首先提一个