python+django+mysql个人博客项目部署(VMware部署)

目录

一、Vmware新建win7虚拟机

二、组件/软件安装

[2.1 安装python3](#2.1 安装python3)

[2.2 更新pip](#2.2 更新pip)

[2.3 安装pycharm](#2.3 安装pycharm)

[2.4 安装django](#2.4 安装django)

[2.5 win安装mysql](#2.5 win安装mysql)

三、配置数据库

[3.1 安装sqlite客户端](#3.1 安装sqlite客户端)

[3.2 db.sqlite3导出为myblog.sql](#3.2 db.sqlite3导出为myblog.sql)

[3.3 Heidisql连接本地sql](#3.3 Heidisql连接本地sql)

四、部署项目

[4.1 安装模块](#4.1 安装模块)

[4.2 尝试运行](#4.2 尝试运行)

[4.3 更新数据库数据](#4.3 更新数据库数据)

[4.4 项目展示](#4.4 项目展示)

五、各种报错解决


一、Vmware新建win7虚拟机

创建一台win7虚拟机(win10也可以,win10可以减少一些软件安装问题),注意镜像一定要选择Service Pack版本,否则安装python会遇到报错"Windows 7 Service Pack 1 and all applicable updates are required to install Python"

镜像下载地址:MSDN, 我告诉你 - 做一个安静的工具站

注意安装后需要有几个注意事项

  1. 关闭防火墙

  2. 安装OpenSSH

Openssh用于宿主机向虚拟机传输文件,虚拟机网络波动比较大,可能存在下载慢的情况。

Opsnsssh安装教程:Win10 离线安装Openssh_openssh-win64.zip-CSDN博客

注意教程中的开机自启动命令是错误的,应该是 sc config sshd start= auto ,注意=后面有空格

启动服务:net start 服务名

停止服务:net stop 服务名

将服务设为自动启动:sc config 服务名 start= auto

将服务设为手动启动:sc config 服务名 start= demand

复制代码
#scp 宿主机文件路径 虚拟机用户名@虚拟机IP:虚拟机文件存放路径
#宿主机文件路径可以是相对地址或绝对地址,虚拟机文件存放路径必须是绝对路径
#scp命令中宿主机文件路径不能存在中文--建议在传输文件所在目录打开cmd,使用宿主机相对路径传输

>>scp myblog-master.zip lgb@11.0.1.20:C:\project

  1. 打开远程服务(允许其它电脑远程控制本电脑)

  2. 安装7z(其它解压软件也可以)

下载地址:7-Zip

  1. 打开telnet功能

  1. 安装微软运行库(安装mysql会用到)

选择普通网络下载,正常安装

微软常用运行库合集官方版-微软常用运行库合集正式版-PC下载网

二、组件/软件安装

以github上的python博客项目为例

GitHub - myminwang/myblog: Python+Django+MySQL 博客系统

2.1 安装python3

下载地址:Download Python | Python.org

python3.6.5 (win7不要选太高版本,太高版本已经不支持win7了)

这个图片报错是因为我一开始选择了不带Service Pack的win7镜像导致的。

安装时注意选择将环境变量加入path,记得勾选,python路径最好也自定义,不带中文就行,但要记住,可以参考下我的安装路径C:\app\python365。

2.2 更新pip

升级pip版本,自带pip版本6.x(这一步是个大坑),需要去下载一个python文件执行

复制内容,黏贴到txt文本,并改名为get-pip.py

cmd切换到该目录下,执行命令pip get-pip.py,会提示pip安装成功,pip -V查看版本

后续安装django会方便许多

2.3 安装pycharm

注意不要win7不要下载最新版本pycharm,选择2019.2之前的版本,2019.2是最后支持win7的版本,否则会报错"无法定位程序输入点 CreateAppContainerProfile 于动态链接库USERENV.dll上 ",此处我选择2018.3版本。

参考:无法定位程序输入点 CreateAppContainerProfile 于动态链接库USERENV.dll上_360社区

pycharm老版本下载地址:Other Versions - PyCharm

2.4 安装django

打开cmd,输入,pip一定要按照上面更新,否则会报错的,

复制代码
pip install Django==2.0.7

>> python
>> import django
#没有报错表示django安装成功,此方法适用于检测各种python模块是否安装,报错说明没有安装成功

2.5 win安装mysql

注意一定要先安装微软运行库合集,否则会报错"无法启动此程序,因为计算机中丢失MSVCR120.dll"

下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

教程:window安装mysql5.7流程_windows mysql5.7的安装教程_luo_guibin的博客-CSDN博客

复制代码
#初始化
mysqld --initialize-insecure --user=mysql
mysqld -install

#启动与停止服务
net start mysql
net stop mysql

#开机自启动
sc config mysql start= auto

#测试并更改密码
mysql -u root -p
SET PASSWORD=PASSWORD('lgblgblgb');
flush privileges; 

如果cmd提示"mysql"不是内部或外部命令,请添加环境变量。

至此,python3.6.5+django2.0.7+mysql5.7 安装完成

三、配置数据库

3.1 安装sqlite客户端

windows中安装sqlite_windows 安装sqlite_蓝色格子的博客-CSDN博客

3.2 db.sqlite3导出为myblog.sql

sqlite3导出sql教程:SQLite3 数据库: 将 数据库 或者 表 导出为SQL文件_打开sqlitestudiocli如何将数据库转换成sql文件-CSDN博客

导出后不需要更改sql文件,有些教程说要更改

复制代码
cmd> sqlite3 db.sqlite3
sqlite> .output myblog.sql   # 将 sqlite 标准输出重定向到myblog.sql 文件
sqlite> .dump myTableOne	# 将表导出到标准输出
sqlite> .exit		# 退出该sqlite 数据库

3.3 Heidisql连接本地sql

其他数据库可视化工具也可以,推荐Heidisql原因是软件是免费的,且在使用navicate导入报错了

Heidisql下载:HeidiSQL - MariaDB, MySQL, MSSQL, PostgreSQL and SQLite made easy

连接本地数据库,127.0.0.1,密码是安装mysql时设置的,新建名为myblog的数据库,导入myblog.sql文件

四、部署项目

注意用管理员打开pycharm,方便cmd使用,打开项目目录

4.1 安装模块

打开pycharm终端,requirements.txt 中有全部模块及版本号,批量安装模块

复制代码
pip install -r requirements.txt

4.2 尝试运行

复制代码
python manage.py runserver

通常来说会有多个模块没安装上,提示"No module named '*********'",需要手动安装

复制代码
pip install ******

直到所有没有 No module 报错为止,终端会提示让你登录127.0.0.1:8000

此时你打开会出现以下画面,原因是没有更新数据

4.3 更新数据库数据

复制代码
#更新数据
python manage.py makemigrations
python manage.py make
python manage.py runserver

4.4 项目展示

五、各种报错解决

5.1 navicate导入sql文件报错

corresponds to your MySQL server version for the right syntax to use near 'PRAGMA foreign_keys=OFF;

相关推荐
幻云20108 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
仰望星空@脚踏实地9 小时前
本地Python脚本是否存在命令注入风险
python·datakit·命令注入
LOnghas121110 小时前
果园环境中道路与树木结构检测的YOLO11-Faster语义分割方法
python
2501_9445264211 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 蜘蛛纸牌游戏实现
android·java·python·flutter·游戏
飞Link12 小时前
【Django】Django的静态文件相关配置与操作
后端·python·django
Ulyanov12 小时前
从桌面到云端:构建Web三维战场指挥系统
开发语言·前端·python·tkinter·pyvista·gui开发
CCPC不拿奖不改名13 小时前
两种完整的 Git 分支协作流程
大数据·人工智能·git·python·elasticsearch·搜索引擎·自然语言处理
a努力。14 小时前
字节Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·python·tcp/ip·elasticsearch·面试·职场和发展
费弗里14 小时前
一个小技巧轻松提升Dash应用debug效率
python·dash
小小测试开发14 小时前
Python浮点型常用方法全解析:从基础到实战
python