在virtualenv 下安装django

来源:互联网 发布:asp.net和php的区别 编辑:程序博客网 时间:2024/06/07 02:47

virtualenv就是个套间,不同版本的Django可以同时安装在不同的virtualenv中, 这样就可以有多套开发环境, 不会因为系统的变更而影响到原来的开发环境。


linux 确实有这个毛病 , 版本变更太快,对于明细的版本依赖太强 。


1. 安装:
(sudo)    pip    install    virtualenv    virtualenvwrapper

[安装的时候需要root权限 , 使用sudo su root 可切换账户]



virtualenvwrapper 提供了一系列命令使得和虚拟环境工作变得愉快许多。它把你所有的虚拟环境都放在一个地方。


2. 设置环境变量

修改~/.bash_profile或其它环境变量相关文件,添加以下语句
export    WORKON_HOME=$HOME/.virtualenvs
export    PROJECT_HOME=$HOME/workspace
source    /usr/local/bin/virtualenvwrapper.sh


3. 操作指令

mkvirtualenv    xxx:  创建运行环境xxx
workon    xxx:     工作在    xxx    环境
其它的:
rmvirtualenv    xxx:删除运行环境xxx
mkproject    mic:创建mic项目和运行环境mic
mktmpenv: 创建临时运行环境

lsvirtualenv:    列出可用的运行环境
lssitepackages:    列出当前环境安装了的包

创建的环境是独立的,互不干扰,无需sudo权限即可使用    pip    来进
行包的管理


停止运行环境:

$ deactivate 

——————

Install Steps:

  1. sudo pip install virtualenv

    Installs virtualenv (allows you to separate your envrionments)

  2. sudo pip install virtualenvwrapper

    Installs virtualenvwrapper (allows you to use the 'workon' command)

  3. nano ~/.bash_profile

    export WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh
  4. source ~/.bash_profile

    Reloads the profile. Going forward you only need step 5 (to create new environments) and step 6 (to run environments)

  5. mkvirtualenv my_env

    This creates your virtual environment (this example is with 'my_env')

  6. workon my_env

    This lets you work on a specific environment (this example is with 'my_env')


每次进入workon 之前, 先需要 source . bash_profile 一次 , 然后才能workon  .


以上参考资源: http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html#virtualenvwrapper



安装好virtualenv  和 virtualenvWrapper 之后, 新建一个运行环境 。 然后下一步是安装Django .

---


安装完毕之后freeze> requirement.txt 是下面这个样子的 。

Django==1.8.7
django-admin==1.0.2
django-filer==1.2.7
django-mptt==0.8.7
django-polymorphic==1.0.2
docutils==0.13.1
easy-thumbnails==2.3
olefile==0.44
Pillow==4.2.1
pytz==2017.2
suit==2.0.2
Unidecode==0.4.21



不过使用django自带的manage.py runserver 跑出来的效果没有admin 该有的效果。   对比了一下没有使用virtualenv安装的环境 , 发现以前的版本的requirement.txt 中并没有admin 的信息 。


这说明系统正常情况下寻找的是系统中的admin .


virtualenv 环境是没有问题了。 接下来, collectStatic 需要控制一下了。



原创粉丝点击