Linux系统中python默认版本为python2.7,修改为python3 项目上传码云
# 查询系统本系统中安装的python版本
ls -l /usr/bin/python*

1、在虚拟机上新建虚拟环境
# 系统中python默认版本为python2.,可以将其修改为python3
# 第一步:先删除python
rm -rf /usr/bin/python
# 第二步:创建软链接
ln -s /usr/bin/python3 /usr/bin/python
# 第三步:查看python版本是否修改为python3
python -V
# 如果已经将python改为python3版本,可以直接创建虚拟环境
mkvirtualenv 虚拟环境名字
# 如果未修改python版本,则创建虚拟环境时需要指定python版本
mkvirtualenv 虚拟环境名字 -p python3
2、在pycharm中新建项目,取名、添加虚拟机上的虚拟环境






选择从码云上克隆到虚拟机中的项目路径:

修改Host和端口(如果在阿里云服务器上创建工程,Host设置为0.0.0.0):

设置本地与服务器代码自动同步:




由于没有使用django默认的admin用户认证系统,所以会报错。

修改settings.py文件,将Host地址添加到ALLOWED_HOSTS列表中。如果为空,只能通过127.0.0.1或者localhost来访问服务器。

大功告成,配置成功!
其他配置
修改 settings 文件
1.配置模板文件
在项目根目录新建一个templates文件夹,用于存放模版文件。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'builtins': ['django.templatetags.static'],
},
},
]
2.配置mysql数据库
a.连接虚拟机中的mysql,使用root用户登录:
mysql -uroot -p
b.创建数据库
mysql> CREATE DATABASE mysite CHARSET=utf8;
Query OK, rows affected (0.13 sec)
c.创建用户
mysql>create user xiaohong identified by 'xiaohong';
Query OK, rows affected (0.00 sec)
d.用户授权
mysql> grant all on django_pro.* to 'xiaohong'@'%';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.20 sec)
e.加载数据库配置
方法一:直接在settings.py文件中添加数据库配置信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'mysite', # 数据库名称
'USER': 'xiaohong', # 数据库登录用户名
'PASSWORD': 'xiaohong', # 密码
'HOST': '192.168.216.137', # 数据库主机IP,如保持默认,则为127.0.0.
'PORT': , # 数据库端口号,如保持默认,则为3306
}
}
方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)
新建数据库配置文件my.cnf(名字随意选择)

在settings.py文件中引入my.cnf文件
DATABASES = {
# 方法二:
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': 'utils/dbs/my.cnf',
},
}
}
⚠️mysql数据库配置完成之后,运行django程序会报如下错误,官方推荐安装mysqlclient 1.3.7以上版本,也可以安装pymysql,并且需要在settings.py文件所在包中的__init__.py中导入pymysql。

方法一:安装mysqlclient,进入到虚拟机执行如下命令:
pyvip@VIP:~$ sudo apt-get update # 更新ubuntu包
pyvip@VIP:~$ sudo apt-get install default-libmysqlclient-dev # 安装依赖
pyvip@VIP:~$ workon youkou_env # 进入到虚拟环境
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple mysqlclient
方法二:安装pymysql,并且需要在settings.py文件所在包中的__init__.py中导入pymysql
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql

3.配置redis缓存
用于存放用户session信息、短信验证码以及图片验证码信息等。
# 在虚拟机中安装django-redis
pip install -i https://pypi.douban.com/simple django-redis
# 在settings.py文件中指定redis配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
4.配置日志器
用于记录系统运行过程中的各种日志信息。
在项目根目录中创建一个logs文件夹,用于存放日志文件
# 在setting.py文件中加入如下配置:
# 配置日志器,记录网站的日志信息
LOGGING = {
# 版本
'version': ,
# 是否禁用已存在的日志器
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, "logs/xiaohong.log"), # 日志文件的位置
'maxBytes': * * ,
'backupCount': ,
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定义了一个名为django的日志器
'handlers': ['console', 'file'],
'propagate': True,
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}
5.时区配置
# 修改语言
LANGUAGE_CODE = 'zh-hans'
# 修改时区
TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True
# utc 时间
USE_TZ = True
6.修改静态文件配置
在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), # 用于存放静态文件]
7.创建应用
a.本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等。在项目根目录下创建一个apps目录用于存放各个子应用。
# 在虚拟机中,cd进入apps
cd apps
python ../manage.py startapp news
python ../manage.py startapp course
python ../manage.py startapp doc
python ../manage.py startapp users
b.在settings.py文件中,加入如下配置
import sys # 创建应用之后,把apps目录加入到sys.path中
sys.path.insert(, BASE_DIR)
sys.path.insert(, os.path.join(BASE_DIR, 'apps'))
c.分别在apps文件夹和项目根目录文件夹上右击,加入到Sources Root根中,优化导入路径。

d.将应用加入到INSTALLED_APPS列表中
INSTALLED_APPS = [
# ... 'users', # 将应用加入到INSTALLED_APPS列表中
'course',
'doc',
'news',
]
将项目推送到码云
在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)
# 填写你的用户名
git config --global user.name "xiaoming"
# 填写你的邮箱地址
git config --global user.email "xiaoming@admin.com"
将代码推送至本地仓库(虚拟机中)
# 工作区添加到暂存区
git add .
# 暂存区提交到仓库区,-m为添加注释信息
git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
将代码推送至远程仓库(码云上)
# 将代码推送到远程仓库
git push
码云中就出现了,你的本次写的代码。

Linux系统中python默认版本为python2.7,修改为python3 项目上传码云的更多相关文章
- CentOS系统python默认版本由python2改为python3
一.了解 CentOS中如果安装有yum,一般会有python2的某个版本.命令行键入python,出现的python2的环境: [root@instance-hrnebyqu src]# pytho ...
- linux系统中python版本升级
一,查看python版本号 python -V 二,下载需要升级到python版本包下载地址https://www.python.org/ftp/python/ 根据需要选择需要的python版本 e ...
- python多进程--------linux系统中python的os.fork()方法
linux下python 创建子进程的原理: os.fork()方法 的原理 为了实现并发.多任务,我们可以在主程序种开启一个进程或者线程.在类unix操作系统当中(非windows),可以用pyth ...
- 查询Linux系统中glibc的版本
编写一个简单的程序 #include <stdio.h> int main() { printf("Hello world\n"); ; } 编译 gcc test.c ...
- mac上Python多版本共存(python2.7.10和python3.5.0)
本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- 在 Linux 系统中读取 GBK 编码的文档
Linux 系统中,默认使用 UTF-8 编码.有时,我们下载的一些文件(比如 TXT 电子书,中文字幕等)使用了 GBK 编码,这样,当我们读取这些文件时,就会看到乱码.一般来说,有两种解决办法. ...
- linux系统中安装MySQL
linux系统中安装MySQL 检查原来linux系统中安装的版本 rpm -qa | grep mysql 将其卸载掉 以 mysql-libs-5.1.71-1.el6.x86_64 版本为例 r ...
- 切换Ubuntu系统python默认版本的方法
另附切换系统python默认版本的方法: 先使用命令: update-alternatives --list python 查看python命令的各种可能结果, 例如我的结果: /usr/bin/py ...
随机推荐
- Mysql 问题集
[1]实现如下需求 需求: 实现方案: (1)复现场景 SQL语句: -- [1]删除表 DROP TABLE tbl_name; -- [2]创建表 )); INSERT INTO tbl_name ...
- vue样式绑定、事件监听、表单输入绑定、响应接口
1.样式绑定 操作元素的 class 列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可.不过,字符串拼接麻烦且易错 ...
- python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict
本博客已搬家至个人网站 在路上 - On the way 下面的 技术 分类. 你可以通过点击 更新帖子 [已解决]Python中,用eval强制将字符串转换为字典变量时候出错:NameError: ...
- JS提交表单页面不跳转、JS下载、动态创建from
JS下载 function downloadFile(id) { var url = "<%=request.getContextPath()%>/cer/downlo ...
- 图示详解BERT模型的输入与输出
一.BERT整体结构 BERT主要用了Transformer的Encoder,而没有用其Decoder,我想是因为BERT是一个预训练模型,只要学到其中语义关系即可,不需要去解码完成具体的任务.整体架 ...
- mpvue 小程序开发之 数据埋点统计
mpvue 小程序开发之 数据埋点统计 在开发过程中,有数据统计的需求,需要获取小程序当前页面和来源页面的数据,以及页面的停留时间 在对小程序api进行了一番研究之后,发现获取这些数据其实并不难 当前 ...
- Burp Suite渗透实战操作指南-上篇
Burp必备知识 在介绍功能之前有必要让大家了解一些burp的常用功能,以便在使用中更好的发挥麒麟臂的优势. 1.1 快捷键 很多人可能都没用过burp的快捷键吧,位置如下,不说话,如果不顺手可以自 ...
- android studio学习----如何创建一个库项目
首先,打开Android studio的软件工具,进入到界面中点击菜单的“file”选项. 2 在弹出的下拉的菜单中,可以看到的是为"New Module“的选项点击进入. 3 进入到c ...
- java获取客户端请求IP地址(公网ip)
之前写了一个获取ip地址的方法,但是放网上一查显示此Ip地址是局域网ip地址,要是想获取请求端的真实公网ip地址怎么样了,看了一些别人的博客后发现,想要获取客户端的公网ip必须借助第三方. packa ...
- Shell 编程 函数
本篇主要写一些shell脚本函数的使用. 函数调用 #!/bin/bash sum(){ s=`expr 2 + 3` echo $s } sum [root@localhost ~]# vim su ...