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;

相关推荐
程序员ken6 小时前
深入理解大语言模型(8) 使用 LangChain 开发应用程序之上下文记忆
人工智能·python·语言模型·langchain
jianghua0016 小时前
Django视图与URLs路由详解
数据库·django·sqlite
wazmlp0018873696 小时前
第五次python作业
服务器·开发语言·python
尘缘浮梦6 小时前
websockets简单例子1
开发语言·python
不懒不懒6 小时前
【从零开始:PyTorch实现MNIST手写数字识别全流程解析】
人工智能·pytorch·python
helloworld也报错?6 小时前
基于CrewAI创建一个简单的智能体
人工智能·python·vllm
啊阿狸不会拉杆6 小时前
《机器学习导论》第 10 章-线性判别式
人工智能·python·算法·机器学习·numpy·lda·线性判别式
超龄超能程序猿6 小时前
Python 反射入门实践
开发语言·python
玄同7656 小时前
Python Random 模块深度解析:从基础 API 到 AI / 大模型工程化实践
人工智能·笔记·python·学习·算法·语言模型·llm