文档章节

pip、virtualenv、virtualenvwrapper

shaohan
 shaohan
发布于 2014/12/10 14:24
字数 1636
阅读 37
收藏 0

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版本就可以进行另外的测试了,和系统环境无关联,达到了我想要的结果,就不至于乱折腾系统了,我直接乱折腾虚拟环境

本文转载自:

共有 人打赏支持
上一篇: mysql配置
shaohan
粉丝 10
博文 97
码字总数 57889
作品 0
海淀
项目经理
私信 提问
VirtualEnv 12.1.1 发布,pip 升级至 6.1.1 版本

VirtualEnv 12.1.1 发布,此版本 pip 升级至 pip 6.1.1 版本,同一天还发布了 VirtualEnv 12.1.0 版本,pip 升级至 pip 6.1.0,setuptools 升级至 setuptools 15.0。 下载: https://github...

oschina
2015/04/08
1K
11
virtualenvwrapper

### virtualenv主要目的是创建一个独立的python开发环境,在创建的虚拟环境中,可以导入系统安 装的zmq、mongo等一些需要的库(需要在虚拟环境安装相应的pyzmq,pymongo),这样可以根据每个...

boy12626
2018/06/29
0
0
VirtualEnv 13.0.3 发布,pip 升级至 7.0.3

VirtualEnv 13.0.3 发布,pip 升级至 7.0.3,此版本现已提供下载:https://github.com/pypa/virtualenv/archive/13.0.3.zip。 同一天还发布了 VirtualEnv 13.0.2,改进内容如下: Upgrade pi...

oschina
2015/06/03
739
0
使用virtualenv和virtualenvwrapper创建多版本python环境

virtualenv为python下用来创建虚拟python环境的工具,可以指定一个目录单独创建一个虚拟的python环这里输入代码境,防止多项目的库冲突 virtualenvwrapper封装了virtualenv,使virtualenv更加...

子夜闻雪
2016/12/16
0
0
Ubuntu系统下python虚拟环境的创建和使用

使用虚拟环境的意义在于三点: 创建独立的Python环境,多个Python互相独立互不影响 虚拟环境中,可以在没有权限的情况下直接安装新套件 不同应用在不同的虚拟环境中可以使用不同的套件版本,...

戴千岩
2017/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux 静态IP、DNS、主机名配置

linux 静态IP、DNS、主机名配置 一、IP配置 进入网络配置文件目录 cd  /etc/sysconfig/network-scripts/ 列出当前目录下文件名 ll 编辑配置文件 注意:ifcfg-eth0是我电脑的一个网卡标识...

小儿
5分钟前
3
0
配置vagrant使用三种网络

使用vagrant安装之后一直使用127.0.0.1进行访问。但是一直使用这个ip肯定满足不了的。我们装肯定是有需求的,那么本节就讲解一下用vagrant的网络配置。 vagrant中一共提供了三种网络配置。 ...

echojson
6分钟前
0
0
重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell

3 月 21 日北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell。作为 Java 全球管理组织 Java Community Process (JCP) 的最高执行委员会的唯一中国代表,以...

阿里云官方博客
7分钟前
0
0
重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell

3 月 21 日北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell。作为 Java 全球管理组织 Java Community Process (JCP) 的最高执行委员会的唯一中国代表,以...

阿里云云栖社区
13分钟前
0
0
OAuth2实现单点登录SSO

1. 前言 技术这东西吧,看别人写的好像很简单似的,到自己去写的时候就各种问题,“一看就会,一做就错”。网上关于实现SSO的文章一大堆,但是当你真的照着写的时候就会发现根本不是那么回事...

java菜分享
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部