Linux——Django 开发环境部署(一)
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看到个帖子,阐明了理由
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.
pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
Pip的安装可以通过源代码包,easy_install或者脚本。
因为easy_install:
$ easy_install pip
也可以通过这样的方式安装
# sudo apt-get install python-pip python-dev build-essential
安装package
$ pip install Markdown
列出安装的packages
$ pip freeze
安装特定版本的package 通过使用==, >=, <=, >, <来指定一个版本号。
$ pip install 'Markdown<2.0' $ pip install 'Markdown>2.0,<2.0.3'
升级包 升级包到当前最新的版本,可以使用-U 或者 --upgrade
$ pip install -U Markdown
卸载包
$ pip uninstall Markdown
查询包
pip search "Markdown"
更多详情
pip help
step2:安装virtualenv
$ sudo pip install virtualenv
使用方法:
1、创建虚拟环境
$ virtualenv env1 //创建虚拟环境env1
默认情况下,虚拟环境会依赖系统环境中的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下的路径
$ virtualenv env2 --no-site-package
\\这条命令安装完了之后site package就会安装到创建好的虚拟环境中,这样就实现了独立于系统之外,不污染系统了
2、启用虚拟环境
cd env1
source ./bin/activate
注意此时命令行会多一个(env1),ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。
3、退出虚拟环境
deactivate
4、在虚拟环境中安装python module
pip install [套件名称]
#Virtualenv 附带有pip安装工具,因此需要安装的套件可以直接运行: 如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
或者让在执行pip的时候让系统自动开启虚拟环境:
export PIP_RESPECT_VIRTUALENV=true
step3:安装virtualenvwrapper
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
1. 将所有虚拟环境整合在一个目录下
2. 管理(新增,删除,复制)虚拟环境
3. 快速切换虚拟环境
4. tab补全虚拟环境名字
5. 每個操作都提供允许使用者自己定制的hooks
6. 可以编写比较容易分享的extension plugin Tab 補全虛擬環境的名字。 每個操作都提供允許使用者自訂的 hooks。 可撰寫容易分享的 extension plugin 系統。
-安装
$ sudo pip install virtualenvwrapper
\\此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行
-配置.bashrc alias python="python2.7"
#如果你的系统python安装的位置不是默认位置,请加上环境变量申明
PATH=${PATH}:/usr/local/share/python
#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的时候让系统自动开启虚拟环境
#如果是mac用户,由于 Terminal 在启动时加载的用户配置并非 .bashrc,而是 ~/.bash_profile,所在还需要在 ~/.bash_profile 加入
[ -r ~/.bashrc ] && source ~/.bashrc
使用方法
1、列出虚拟环境列表
workon
或
lsvirtualenv
2、新建虚拟环境
mkvirtualenv [虚拟环境名称]
3、启动\切换虚拟环境
workon [虚拟环境名称]
4、复制虚拟环境
$ cpvirtualenv ENVNAME TARGETENVNAME
5、删除虚拟环境
rmvirtualenv [虚拟环境名称]
6、离开虚拟环境
deactivate
step3:安装pythonbrew
对于日后想用不同的版本python进行代码测试的话自然少不了这个,接下来的内容中加上这部分
step4:安装辅助组件
#yolk是一个列出python安装包的工具
$ pip install yolk
$ yolk -l
step5:安装django
#安装
ms@mss:~$ workon test
(test)ms@mss:~$ pip install django
#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 开发环境部署(一)的更多相关文章
- Linux——Django 开发环境部署(二)python版本控制器pyenv
python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...
- Delphi 10.2 Linux 程序开发环境部署的基本步骤(网络连接方式要选择桥接或者是Host Only)
Delphi 10.2 Linux 程序开发环境部署的基本步骤 http://blog.qdac.cc/?p=4477 升級到 Delphi 10.2 Tokyo 笔记http://www.cnblo ...
- django开发环境部署之pip、virtualenv、virtualenvwrapper
step1:安装pip 在python中可以使用easy_install和pip安装python拓展但推荐使用pip Don't use easy_install, unless you like s ...
- 虚拟机上的Linux Java开发环境部署记录(VirtualBox+Ubuntu)第一章-基础环境搭建
创建虚拟机时需注意三点: 在BIOS中开启Intel VT,以支持64位虚拟机系统: 对于Ubuntu 16以上版本,至少分配10G以上初始控件. 增加一块网卡,选择Host-Only网络,用于主机和 ...
- linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署
CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...
- django开发环境搭建(参考流程)
django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- Pycharm搭建Django开发环境
Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...
- eclipse+hbase开发环境部署
一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...
随机推荐
- Cocos2d-x中图字原理之深入分析
http://cache.baiducontent.com/c?m=9d78d513d9921cfe05ac94281a16a632451294247c89df4f3992d15f9217465c02 ...
- libevent源码分析之信号处理
新看看官方demo的libevent如何使用信号 int called = 0; static void signal_cb(int fd, short event, void *arg) { str ...
- Centos 环境变量
1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦. 这个只针对特定的shell; $ PATH=" ...
- sql多对多探讨
--用sql语句探讨一对多 多对多关系 /**** 你有3个表 学生表(学生id 学生姓名) 课程表(课程id 课程名) 成绩表 (学生id 课程id 分数) 班级表(班级id 学生id) 这里的班 ...
- mysql故障(程序正在运行却找不到PID文件)
[root@slave ~]# /etc/init.d/mysql status ERROR! MySQL is running but PID file could not be found [ro ...
- poj 1389(离散化+计算几何)
Area of Simple Polygons Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3412 Accepted ...
- hdu 3264(枚举+二分+圆的公共面积)
Open-air shopping malls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- springBoot Ribbon 负载均衡
1.依赖引用 <!-- 引入关于 eureka-server的依赖 --> <dependency> <groupId>org.springframework.cl ...
- Java IO 学习(五)跟踪三个文件IO方法的调用链
假设我们想要用Java读取一个二进制文件,有好几种方式,本文会选取其中比较典型的三种方式进行详细分析 0. 准备工作 安装openjdk-1.8.0.141(普通的jdk中涉及IO的很多代码是闭源的, ...
- HDU 1541.Stars-一维树状数组(详解)
树状数组,学长很早之前讲过,最近才重视起来,enmmmm... 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据 ...