Django 是一个Python定制框架,可用于简便、快速的开发数据库驱动的web站点。

要使用Django,首先要建立一个虚拟工作环境

那么,为什么要搭建虚拟环境呢?我们来看以下的开发场景:

假设要进行Python web开发,使用的是Django。手上还有两个老项目A和B需要维护,而新项目C也正在开发中。这里项目A使用的是django1.3,项目B使用的是django1.4,而新项目C使用的是Django1.8。那么问题来了,如何同时在本地进行ABC这三个项目的开发和维护?
正常的模式可能是这样:现在在A项目上有一个BUG需要修复,于是,先执行下面的命令,删除掉原来的版本:

pip uninstall django

然后再执行下面的命令安装django1.3:

pip install django==1.3

数分钟后,bug修复完毕,好,现在进行新项目C的开发了,然后又要重复上面的故事。
好了,这还是最理想的情况。什么?还有不理想的情况?是的,基于django的第三方依赖也是跟Django版本相关的,于是除了install和uninstall Django之外,还要uninstall和install其依赖,Orz,这特么的就尴尬了...

可见,虚拟环境的搭建是必备的步骤。在windows下,有多种搭建虚拟环境的方法。其中,Anaconda拥有强大而方便的包管理与环境管理的功能,可以轻松创建虚拟工作环境。安装好Anaconda后,可以在“开始菜单-所有程序”中,找到Anaconda Promt,这是一个类似于cmd的终端,可以用命令行来进行包和环境的管理。

现在,我们可以开始虚拟环境的搭建了。

1、创建环境

输入以下命令:

conda env list

可以看到此时仅有一个环境,叫做root,这个环境所在的目录就是Anaconda的安装目录(D:\Anaconda3)。接着,输入以下命令:

conda create -n my_env
conda create -n DjangoPath python=3.6.3

我们就成功地创建了一个新的虚拟工作环境。其中,“my_env”是这个环境的名称,在Anaconda的安装目录下面的envs文件夹下,新建了一个my_env文件夹(D:\Anaconda3\envs\my_env),它就是这个环境所在的目录。

2、环境管理

完成环境创建后,我们输入:

conda env list

此时,我们可以看到有两个工作环境,分别是:root,以及我们刚刚创建的my_env环境。root的目录旁有一个星号(*),代表此时虚拟环境还没有被激活。只有激活它,我们才能为这个虚拟环境进行包的安装和管理,为了激活它,我们输入以下命令:

activate my_env

此时我们可以看到,命令行的左侧多出了一个(my_env),代表我们当前是在该环境下进行命令行的操作。如果我们此时再输入:conda env list,可以看到星号(*)已经移到了刚刚创建的虚拟环境目录的左侧。需要注意的是,如果关闭了Anaconda Promt,再新再打开的话,那么还需要重新进行一次激活操作。

如果想要移除该环境,我们需要输入以下命令:

conda remove -n my_env --all

3、安装Django

在新的环境激活的情况下,我们在命令行中输入:

conda list

可以看到,此时该环境下没有安装任何的package。此时,我们开始使用Anaconda强大的包管理功能。在命令行中输入:

conda install django
pip install django==2.1.8(稳定版本,可以换别的版本)

它就会自动帮助我们在新环境下,安装Django以及一些配套安装的package。

导出pip安装清单

pip freeze > D:\1.txt

使用清单批量安装

pip install -r D:\requirements.txt
1.txt文件在执行导出清单的路径下

4、创建项目

Django安装完成后,我们在命令行中输入:path,以查看当前环境的工作路径,如果一切正常的话,现在已经生成了一些my_env文件夹下的新路径。我们即将用到的django-admin.py就存放在D:\Anaconda3\envs\my_env\Scripts这个路径中。

现在,可以开始项目的创建了。首先,在命令行中用cd命令切换到我们希望存放项目文件夹的位置,例如:

cd D:\PycharmProjects\new_env

再执行以下命令创建项目:

django-admin startproject new_project .

后面的空格和句点千万不要忘记,否则部署应用程序时将遭遇一些配置问题。

如果django-admin.py运行失败了,那么在D:\Anaconda3\envs\my_env\Scripts路径中找到这个文件,将它的默认打开方式设为D:\Anaconda3\envs\my_env下的python.exe,再重新尝试执行命令。

最终,new_env文件夹下出现了名为new_project的项目文件夹,以及manage.py文件,于是我们完成了虚拟环境下的第一个项目创建工作

5,配置环境变量

file -  setting --project interpreter

创建一个,路径找到虚拟环境的Python.exe  

在pycharm的Terminal窗口下

生成requirements.txt;
pip freeze > requirements.txt;

生成的requirements文件和manage.py要同级;
需要生成本项目而不是整个虚拟环境需要的模块列表,那么需要:
pip install pipreqs
pipreqs ./

pipreqs ./ --encoding=utf-8   # 报错就执行下面这条

执行requirements文件:
pip install -r requirements.txt

pipreqs ./ --encoding=utf-8

用windows下的Anaconda搭建Django虚拟环境的更多相关文章

  1. windows下如何快速搭建web.py开发框架

    在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...

  2. 在windows下如何快速搭建web.py开发框架

    在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...

  3. Windows下Git服务器搭建[转]

    Windows下Git服务器搭建   作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 ...

  4. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  5. Windows下安装Anaconda

    Windows下安装Anaconda   Anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学 ...

  6. Windows下的Anaconda+OpenCV的环境配置

    Windows下的Anaconda+OpenCV的环境配置

  7. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  8. 转载:Windows下三分钟搭建Shadowoscks服务器端

    Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...

  9. windows下sqli-labs的搭建及学习(POST篇)

    windows下sqli-labs的搭建及学习(GET篇): http://blog.csdn.net/sherlock17/article/details/64454449 Less-11:基于错误 ...

随机推荐

  1. redis常用命令--strings

    strings常用命令: set key value:存值 get key:取值 append key value:在值后追加值 strlen key:获取长度 mset key1 value1 ke ...

  2. ORACLE自增函数,一般函数

    1.UNIX时间与普通时间互相转换 1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME oracle_to_unix(creat ...

  3. 18 12 23 html 基本学习

    一个html的基本结构如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  4. grep sed akw

    sed参考 #打印2-4行 [root@localhost ~]# sed -n '2,4p' test [root@localhost ~]# awk 'NR==2,NR==4{print}' te ...

  5. 高级变量类型(列表,元组,字典,字符串,公共方法,变量高级)for循环

    Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 (co ...

  6. P1618 三连击(升级版)

    题解: #include<stdio.h>int main(){ int A,B,C; scanf("%d %d %d",&A,&B,&C);  ...

  7. 正文内容 python3编码问题

    来源:http://www.jb51.net/article/92006.htm 以下是全文: 这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题....希望大家不吝赐教 ...

  8. Java学习十三

    学习内容: 1.Java反射 2.jdbc入门 1.反射的概述 Java的反射机制:动态获取信息以及动态调用对象方法 Java的反射机制的作用:用来编写一些通用性较高的代码或者框架的时候使用 原理:j ...

  9. Linux--Centos安装VNC

    参考:https://linux.cn/article-5335-1.html 安装 vnc 服务器 yum install tigervnc-server -y 配置 vnc .service 更改 ...

  10. python获取页面文字信息

    # -*- coding: utf- -*- from selenium import webdriver import time, re,requests,os,time,random,traceb ...