python虚拟环境中安装diango_安装Python虚拟环境和django

走了一些弯路,简单记录一下

本文参考以下文章在本地环境下测试成功

ubuntu16.04

廖雪峰的博客!

Virtualenv的介绍

创建虚拟环境的时候一些文章用的是virtualenv命令而另一些用的是mvirtualenv

效果是差不多的,区别在于刚开始安装了virtualenv一个软件还要virtualenvwrapper这两个。下面一一道来

首先要明白的是创建虚拟环境的作用是什么

开发Python应用的时候,会需要不同版本的Python运行环境。

不同的的应用对不同版本的库文件。

不同应用之间的隔离和不同插件之间的隔离。

虚拟环境可以随时恢复随时删除。

首先要在宿主环境里面安装virtualenv和virtualenvwrapper

sudo pip install virtualenv

sudo pip install virtualenvwrapper

在~/.bashrc文件里面加上:

# 其中#username改成你自己的用户名,.virtualenv是虚拟环境的家目录。

export WORKON_HOME=/home/username/.virtualenv

source /usr/local/bin/virtualenvwrapper.sh

之后创建虚拟环境的存放路径

之后source ~/.bashrc

现在我们用-p选项创建一个python3的虚拟环境,当然系统里得先装好了python3。

mkvirtualenv -p python3 py3env

-p 后面的参数指定了python3(也有可能要换成python3.2/python3.4,具体要看你系统里面/use/bin/里面的文件是什么名字),如果去掉这个参数,就会使用系统默认的python。最后一个参数py3env是创建的这个环境的名字。

(py3env) 03:21:35@backbox:06~/.virtualenvs $ l

get_env_details* postmkvirtualenv premkvirtualenv*

initialize postrmvirtualenv* prermvirtualenv*

postactivate preactivate* py3_django/

postdeactivate predeactivate py3env/

postmkproject* premkproject*

这里要说两点,

####一。有些文章只安装了$ pip3 install virtualenv

这时候,新建虚拟环境的时候就需要用$ virtualenv --no-site-packages venv命令。其中 --no-site-packages参数指定,已经安装到系统Python环境中的所有第三方包都不会复制过来。可以得到一个相对简洁的Python环境。进入这个环境需要$ source venv/bin/activate

####二。我的本地环境安装了Python2.7和Python3.5,$ sudo pip install virtualenv之后需要再$ sudo pip3 install virtualenv么?答案是不需要。

03:23:55@backbox:01~ $ which virtualenv /usr/local/bin/virtualenv

执行完了之后,会自动切换到这个新创建的虚拟环境。我们会发现命令行提示符会发生改变,虚拟环境的名字会加在提示符开头:

(py3_django) 03:14:28@backbox:181~/django/BookManager $

现在看一下PS1 的值

(py3_django) 03:41:41@backbox:191~/django/BookManager $ echo HelloWorld

HelloWorld

(py3_django) 03:41:58@backbox:192~/django/BookManager $ echo $PS1

(py3_django) \[\e]0;\u@\h: \w\a\]\[\033[1;31;1m\]\t@\h:\[\033[32;00m\]\j\#\[\033[1;37;1m\]\w \[\e[30;00m\]\$

其他一些常用命令:

deactivate # 退出当前虚拟环境

workon [虚拟环境名称] # 使用某个虚拟环境

rmvirtualenv [虚拟环境名称] # 删除某个虚拟环境

lsvirtualenv # 列出所有虚拟环境

用pip list 和 pip freeze 命令查看软件包,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。

(py3env) 03:17:37@backbox:02~ $ pip list

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.

pip (9.0.1)

setuptools (38.4.0)

wheel (0.30.0)

(py3env) 03:17:46@backbox:03~ $ pip freeze

(py3env) 03:17:53@backbox:04~ $

在虚拟环境中设置默认命令

有些时候,我们希望在进入虚拟环境之后执行某些命令,或者设置一些环境变量。

例如:在django运行的时候,可以通过环境变量DJANGO_SETTINGS_MODULE来指定配置文件的路径。

我们可以在虚拟环境目录下面创建文件bin/postactivate,并在文件里面写入:

export DJANGO_SETTINGS_MODULE=config.django.production

这个文件会在每次进入这个虚拟环境的时候被执行,这样这个参数就会被设置了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值