首页 > 编程语言 > 详细

Linux系统中python默认版本为python2.7,修改为python3 项目上传码云

时间:2019-06-16 23:53:07      阅读:470      评论:0      收藏:0      [点我收藏+]
# 查询系统本系统中安装的python版本
ls -l /usr/bin/python*

 

技术分享图片

 

1、在虚拟机上新建虚拟环境

# 系统中python默认版本为python2.7,可以将其修改为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, 0 rows affected (0.13 sec)

c.创建用户

mysql>create user xiaohong identified by xiaohong;
Query OK, 0 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.1
        PORT: 3306,                           # 数据库端口号,如保持默认,则为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: 1,
    # 是否禁用已存在的日志器
    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: 300 * 1024 * 1024,
            backupCount: 10,
            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(0, BASE_DIR)
sys.path.insert(1, 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 项目上传码云

原文:https://www.cnblogs.com/jackzz/p/11033316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!