虚拟环境下搭建一个Django项目
作者:qq_47150350 发布时间:2023-06-15 12:30:39
1.为什么需要创建虚拟环境?
虚拟环境是隔离应用确切依赖项的好办法。
此类隔离避免了全局 Python 环境中的冲突,有助于进行测试和协作。
随着时间的推移,在开发应用时,总是会引入许多有用的 Python 包。
通过将包保存在特定于项目的虚拟环境中,可以轻松更新项目中介绍该环境的requirements.txt 文件,该文件包含在源代码管理中 。
如果项目被复制到任何其他计算机(包括生成服务器、部署服务器和其他开发计算机),仅使用requirements.txt 即可轻松重新创建环境(这就是为什么环境不需要包含在源代码管理中) 。
2.前提条件
安装Python 3.0以上,Windows下可以安装及 c:\python35。
注意环境变量PATH的设置,建议只在PATH中添加一个版本的Python路径。
3.创建python的虚拟环境
Window 下:
(cmd命令即可)
下载工具
pip install virtualenv
创建虚拟环境目录
# 注意此命令创建的虚拟环境目录是在当前目录下
virtualenv testenv
使用虚拟环境
cd testenv/Scripts
activate
退出虚拟环境
deactivate.bat
指定使用python版本创建虚拟环境
virtualenv -p C:\Python\Python36\python.exe testenvenv3
Linux 下:
下载工具
sudo apt-get install python-virtualenv
sudo yum install python-virtualenv
创建虚拟环境目录
virtualenv testenv2
使用虚拟环境
cd testenv2/bin
source activate
退出虚拟环境
deactivate
指定使用python版本创建虚拟环境
virtualenv -p /usr/bin/python3 testenv3
由于每次使用虚拟环境都要记住路径,使用极为不方便virtualenvwrapper虚拟环境管理包,推荐使用
4.创建 requirements.txt 文件
文件中添加以下内容,pylint为python的静态语法检测器,pylint-django 是适用于django项目的语法检查其插件,autopep8 是代码格式化工具
django==2.1
pylint
pylint-django
autopep8
5.执行 pip install -r requirements.txt 安装相关模块
6.创建一个新的 Django 项目
django-admin startproject TradingMonitorcd
cd TradingMonitor/
python manage.py migrate
这时,你能看到文件系统大概是下面这样的:
TradingMonitor/
├── TradingMonitor
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── db.sqlite3
└── manage.py
我简单解释一下它的意思:
TradingMonitor/TradingMonitor,表示项目最初的 Python 包;
TradingMonitor/init.py,表示一个空文件,声明所在目录的包为一个 Python 包;
TradingMonitor/settings.py,管理项目的配置信息;
TradingMonitor/urls.py,声明请求 URL 的映射关系;
TradingMonitor/wsgi.py,表示 Python 程序和 Web 服务器的通信协议;
manage.py,表示一个命令行工具,用来和 Django 项目进行交互;
Db.sqlite3,表示默认的数据库,可以在设置中替换成其他数据库。
7.为这个系统添加管理员账户:
python3 manage.py createsuperuser
python manage.py createsuperuser
########## 输出 ##########
Username (leave blank to use 'ubuntu'): admin
Email address:
Password:
Password (again):
Superuser created successfully.
8.启动 Django 的 debugging 模式:
python manage.py runserver
最后,打开浏览器输入:http://127.0.0.1:8000。如果你能看到下面这个画面,就说明 Django 已经部署成功了。
现在我们再定位到 http://127.0.0.1:8000/admin,你会看到 Django 的后台管理网页,这里我就不过多介绍了。
到此,Django 就已经成功安装,并且正常启动啦。
最后和大家分享一下我在整个过程趟的最大的一个坑:
之前在最后启动 Django 的 debugging 模式时输入python manage.py runserver
之后给我报了一个编码错误如图:
然后经过多方查找和测试终于在IT屋上的一篇文章找到正解:
https://www.aspxhome.com/program/2023/73683.htm
通过将主机名更改为不再包含西里尔字符才终于解决问题。大大的感谢楼主!
来源:https://blog.csdn.net/qq_47150350/article/details/109273585
猜你喜欢
- Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542Sel
- 目录前言什么是装饰器Python 函数的基本特性函数名的本质:将函数作为变量使用:进一步实现装饰器使用Python装饰器语句:总结前言在 p
- 本文实例讲述了VB.NET调用MySQL存储过程并获得返回值的方法。分享给大家供大家参考。具体实现方法如下:Dim myConnection
- python中的dir()函数是一个非常重要的函数,它可以帮助我们查看函数的功能和特性。中文说明:不带参数时,返回当前范围内的变量、方法和定
- 大家好,我是丁小杰。上次和大家分享了Python定时爬取微博热搜示例介绍,堪称摸鱼神器,一个热榜不够看?今天我们再来爬取一下抖音热搜榜,感兴
- 最近在做一个领券功能的时候,发现在一定并发下会出现重复领券的问题。使用度娘一顿搜索操作之后,发现可以使用分布式锁来解决这个问题。什么是分布式
- 文件操作的步骤:打开文件 -> 操作文件 -> 关闭文件切记:最后要关闭文件(否则可能会有意想不到的结果)打开文件文件句柄 =
- 本文实例讲述了Go语言判断文件或文件夹是否存在的方法。分享给大家供大家参考,具体如下:Golang 判断文件是否存在有点怪异,是根据在操作文
- 写在前面嗯,学习GO,所以有了这篇文章博文内容为《GO语言实战》读书笔记之一主要涉及映射相关知识你要爱就要像一个痴情的恋人那样去爱,像一个忘
- 先说明2点开启缓存也会带来开销,主要表现在一下方面读取在查询开始之前必须要检查缓存如果查询是缓存的,但是不在结果集中,那么产生结果后保存数据
- type 所有类是type生成的a = 1b = "abc"print("type a:{}&qu
- 前言在Selenium自动化测试过程中会遇到定位浏览器弹窗的情况,根据弹窗实现原理不同大致可分为以下几种定位方式。1. alert
- Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的。如果您不熟悉正规表达式,那么这篇文章可以让
- 使用django自带的 AbstractUser 扩展之后,更改AUTH_USER_MODEL = 'users.UserProfi
- 我从Stephen A. Goss那读到关于了《Python 3正在毁灭Python》。这篇文章有不少精彩的论点,但我却并不认为Python
- 开发微信小程序过程中,有个需求需要用到日期时间筛选器,查看微信官方文档后,发现官方文档的picker筛选器只能单独支持日期或者是时间,所以为
- 一、mongodb安装在官网下载适应于自己平台的mongodb,在此安装环境为Windows7-64bit下载完成后直接安装,连续点击nex
- 在小编学习python中的模拟点击之前,我们想要对某一项操作进行自动指令的重复,可以选择大家熟知的按键精灵。那么对比python的模拟点击,
- js实现点击掉落特效 先看看效果图 话不多说代码<!DOCTYPE HTML><html><head
- 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。