用windows下的Anaconda搭建Django虚拟环境
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 -rD:\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虚拟环境的更多相关文章
- windows下如何快速搭建web.py开发框架
在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...
- 在windows下如何快速搭建web.py开发框架
在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...
- Windows下Git服务器搭建[转]
Windows下Git服务器搭建 作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 ...
- Windows下的环境搭建Erlang
Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...
- Windows下安装Anaconda
Windows下安装Anaconda Anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学 ...
- Windows下的Anaconda+OpenCV的环境配置
Windows下的Anaconda+OpenCV的环境配置
- Windows下SVN服务器搭建方法整理(apache)
http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...
- 转载:Windows下三分钟搭建Shadowoscks服务器端
Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...
- windows下sqli-labs的搭建及学习(POST篇)
windows下sqli-labs的搭建及学习(GET篇): http://blog.csdn.net/sherlock17/article/details/64454449 Less-11:基于错误 ...
随机推荐
- 2016蓝桥杯省赛C/C++A组第三题 方格填数
题意:如下的10个格子 填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 分析:dfs,划定边界,行1~4,列1~3,初始化为INT_IN ...
- java 微信红包算法代码实现及架构设计
转载至:https://www.zybuluo.com/yulin718/note/93148 微信红包的架构设计简介 架构 @来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈 ...
- 2020牛客寒假算法基础集训营4 H坐火车
题目描述 牛牛是一名喜欢旅游的同学,在来到渡渡鸟王国时,坐上了颜色多样的火车. 牛牛同学在车上,车上有 n 个车厢,每一个车厢有一种颜色. 他想知道对于每一个正整数 $ x \in [1,\ n] $ ...
- POJ 1141 经典DP 轨迹打印
又几天没写博客了,大二的生活实在好忙碌啊,开了五门专业课,每周都是实验啊实验啊实验啊....我说要本月刷够60题,但好像完不成了,也就每天1题的样子.如今写动规还是挺有条理的,包括这道需要打印轨迹,其 ...
- 干货 | 运维福音——Terraform自动化管理京东云
干货 | 运维福音--Terraform自动化管理京东云 原创: 张宏伟 京东云开发者社区 昨天 Terraform是一个高度可扩展的IT基础架构自动化编排工具,主张基础设施即代码,可通过代码集中管 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 删除数据表
MySQL中删除数据表是非常容易操作的, 但是在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_nam ...
- go多态
package main import ( "fmt" ) type Intf interface { process() } type MsgBase struct { id ...
- IO流的学习以及统计次数最多的单词
IO流: 处理数据类型:字节流(InputStream OutputStream)和字节流(Reader Writer) 数据流向不同:输入流和输出流(FileInputStream File ...
- 使用idea出现的错误
错误:打开maven项目时出现"程序包 com.sun.org.apache.xpath.internal 不可见 "的错误 这个问题出现的原因是: jdk版本的问题.可能是因为有 ...
- 十六进制转化二进制[c]
#include<stdio.h> #include<string.h> #include<stdlib.h> int hex2dec(char c) { ; // ...