Django 开发环境部署(一)

之所以 写这篇文章的原因在于django环境的确轻松搭建,之前Ubuntu上安装了,的确很轻松,但是后期我才知道随便做个环境出来很容易到了后面很麻烦,污 染了系统里的python版本,导致系统python环境异常崩溃,系统重装的Ubuntu的亲们你们是有感触吧,所以好多人采用virtualenv 吧,但是期初用virtualenv的时候的确不需要系统的依赖包了,但是后来折腾来折腾去还是很麻烦,最后我不得已我又各种删,所以最后看到了一个哥们 的文章,我才觉得找到了自己自己想要的东西了

所以重 头再mac下已默认python 2.7.5为系统python系统版本,完全独立出来的虚拟环境,方便删除,挪动,更改环境中的各组件版本,也许我有轻微强迫症的人。不污染系统环境,不 依赖于系统的package,完全独立的python版本,独立的django版本,独立的django依赖包,所以马上从头开始

step1:安装pip

在python中可以使用easy_install和pip安装python拓展但推荐使用pip,在stackoverflow看到个帖子,阐明了理由

  1. Don't use easy_install, unless you like stabbing yourself in the face.
    Use pip. Two reasons, there may be more: - pip provides an uninstall command - if an installation fails in the middle, pip will leave you in a clean state.
  2. pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
    Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。

Pip的安装可以通过源代码包,easy_install或者脚本。

  1. 因为easy_install:
    $ easy_install pip
  2. 也可以通过这样的方式安装
    # sudo apt-get install python-pip python-dev build-essential
  3. 安装package
    $ pip install Markdown
  4. 列出安装的packages
    $ pip freeze
  5. 安装特定版本的package 通过使用==, >=, <=, >, <来指定一个版本号。
    $ pip install 'Markdown<2.0' $ pip install 'Markdown>2.0,<2.0.3'
  6. 升级包 升级包到当前最新的版本,可以使用-U 或者 --upgrade
    $ pip install -U Markdown
  7. 卸载包
    $ pip uninstall Markdown
  8. 查询包
    pip search "Markdown"
  9. 更多详情
    pip help

step2:安装virtualenv

  1. $ sudo pip install virtualenv
  2. 使用方法:
    1、创建虚拟环境
    $ virtualenv env1 //创建虚拟环境env1
  3. 默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境,可以用下面命令查看package安装位置
    # python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
    /usr/lib/python2.7/dist-packages //Ubuntu下的路径
    /Library/Python/2.7/site-packages //mac下的路径
  4. $ virtualenv env2 --no-site-package
    \\这条命令安装完了之后site package就会安装到创建好的虚拟环境中,这样就实现了独立于系统之外,不污染系统了
  5. 2、启用虚拟环境
    cd env1
    source ./bin/activate
    注意此时命令行会多一个(env1),ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。
  6. 3、退出虚拟环境
    deactivate
  7. 4、在虚拟环境中安装python module
    pip install [套件名称]
  8. #Virtualenv 附带有pip安装工具,因此需要安装的套件可以直接运行: 如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:
    export PIP_REQUIRE_VIRTUALENV=true
  9. 或者让在执行pip的时候让系统自动开启虚拟环境:
    export PIP_RESPECT_VIRTUALENV=true

step3:安装virtualenvwrapper

  1. Virtaulenvwrappervirtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
    1. 将所有虚拟环境整合在一个目录下
    2. 管理(新增,删除,复制)虚拟环境
    3. 快速切换虚拟环境
    4. tab补全虚拟环境名字
    5. 每個操作都提供允许使用者自己定制的hooks
    6. 可以编写比较容易分享的extension plugin Tab 補全虛擬環境的名字。 每個操作都提供允許使用者自訂的 hooks 可撰寫容易分享的 extension plugin 系統。
  2. -安装
    $ sudo pip install virtualenvwrapper
    \\此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行
  3. -配置.bashrc alias python="python2.7"
    #如果你的系统python安装的位置不是默认位置,请加上环境变量申明
    PATH=${PATH}:/usr/local/share/python
  4. #virtualenvwrapper
    export WORKON_HOME=$HOME/virtualenvs //虚拟环境存放位置自己指定
    source /usr/local/bin/virtualenvwrapper.sh                //指定virtualenvwrapper的执行文件路径
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 //系统python2.7执行文件位置,根据自己环境而定
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' //启动时候指定参数,就是我们用的独立于系统的安装包
    export PIP_VIRTUALENV_BASE=$WORKON_HOME //告知pip virtualenv的位置
    export PIP_RESPECT_VIRTUALENV=true //执行pip的时候让系统自动开启虚拟环境
  5. #如果是mac用户,由于 Terminal 在启动时加载的用户配置并非 .bashrc,而是 ~/.bash_profile,所在还需要在 ~/.bash_profile 加入
    [ -r ~/.bashrc ] && source ~/.bashrc
  6. 使用方法
    1、列出虚拟环境列表
    workon

    lsvirtualenv
  7. 2、新建虚拟环境
    mkvirtualenv [虚拟环境名称]
  8. 3、启动\切换虚拟环境
    workon [虚拟环境名称]
  9. 4、复制虚拟环境
    $ cpvirtualenv ENVNAME TARGETENVNAME
  10. 5、删除虚拟环境
    rmvirtualenv [虚拟环境名称]
  11. 6、离开虚拟环境
    deactivate

step3:安装pythonbrew

对于日后想用不同的版本python进行代码测试的话自然少不了这个,接下来的内容中加上这部分

step4:安装辅助组件

  1. #yolk是一个列出python安装包的工具
    $ pip install yolk
    $ yolk -l

step5:安装django

  1. #安装
    ms@mss:~$ workon test
    (test)ms@mss:~$ pip install django
  2. #django安装的位置
    python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
    ['/home/ms/.virtualenvs/test/local/lib/python2.7/site-packages/django'] \\这里就是我虚拟环境中

到此本地的开发 django环境也就安装完了,这样独立的开发环境,pythonbrew安装的python版本,不依赖于系统,完全独立,直接删除没有任何影响,或者 直接拷贝虚机环境修改里面的python版本和django版本就可以进行另外的测试了,和系统环境无关联,达到了我想要的结果,就不至于乱折腾系统了, 我直接乱折腾虚拟环境

Linux——Django 开发环境部署(一)的更多相关文章

  1. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  2. Delphi 10.2 Linux 程序开发环境部署的基本步骤(网络连接方式要选择桥接或者是Host Only)

    Delphi 10.2 Linux 程序开发环境部署的基本步骤 http://blog.qdac.cc/?p=4477 升級到 Delphi 10.2 Tokyo 笔记http://www.cnblo ...

  3. django开发环境部署之pip、virtualenv、virtualenvwrapper

    step1:安装pip 在python中可以使用easy_install和pip安装python拓展但推荐使用pip Don't use easy_install, unless you like s ...

  4. 虚拟机上的Linux Java开发环境部署记录(VirtualBox+Ubuntu)第一章-基础环境搭建

    创建虚拟机时需注意三点: 在BIOS中开启Intel VT,以支持64位虚拟机系统: 对于Ubuntu 16以上版本,至少分配10G以上初始控件. 增加一块网卡,选择Host-Only网络,用于主机和 ...

  5. linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署

    CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...

  6. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  7. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

  8. Pycharm搭建Django开发环境

    Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...

  9. eclipse+hbase开发环境部署

    一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...

随机推荐

  1. java基础练习 17

    import java.util.Scanner; public class Seventheen { /*企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元 ...

  2. Vplayer服务配置-手机播放局域网视频

    如何使用 UPnP DLNA Cedric Fung 2012-08-03 如何使用 UPnP DLNA · Cedric Fung · 2012-08-03 UPnP / DLNA 通用即插即用 ( ...

  3. 第一章:1-10、试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit),从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为C(bit/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?

    <计算机网络>谢希仁著第四版课后习题答案答:对电路交换,当t=s时,链路建立: 当t=s+x/C,发送完最后一bit:                 当t=s+x/C+kd,所有的信息到 ...

  4. 阿里最新出的图书《码出高效:Java开发手册》宣传手册图片里出了比较搞笑的错误,大家没有发现?

  5. linq连接sqlite数据库(linq to sqlite) .net3.5

    http://www.cnblogs.com/xianyin05/archive/2012/12/23/2829905.html using Models; using System; using S ...

  6. poj2728(最小比率生成树)

    poj2728 题意 给出 n 个点的坐标和它的高度,求一颗生成树使得树上所连边的两点高度差之和除以距离之和最小. 分析 01分数规划+最小生成树. 对于所有的边,在求最小生成树过程中有选或不选的问题 ...

  7. java trim start end space

    Java program that trims starts and ends public class Program { public static String trimEnd(String v ...

  8. AtCoder - 3962 Sequence Growing Hard

    Problem Statement Find the number of the possible tuples of sequences (A0,A1,…,AN) that satisfy all ...

  9. yum安装openresty

    在群里看到春哥发的,先记录下来.一切都以官网为准,以后安装部署生态会越来越完善的. OpenResty 官方现在开始维护自己的打包虚机集合了,新的 linux 包仓库正在陆续登陆 openresty. ...

  10. Linux下查看某个进程的网络带宽占用情况

    说明: 1.可能查看某个进程的带宽占用需要明确知道PID.进程名字.发送速度.接收速度. 2.很遗憾,在Linux原生的软件中没有这样的一款,只能额外装,最符合以上的情况就只有nethogs. 3.n ...