django项目部署到centos,踩的坑
FAQ1:在使用pip3安装库的时候,提示需要升级pip
pip3 install --upgrade pip
FAQ2:在创建软链接时,提示:ln: failed to create symbolic link ‘/usr/bin/python3’: File exists
我们可以在参数中加个 f,做强制创建
ln -sf /huyang/python395/bin/python3.9 /usr/bin/python3
FAQ3:在运行 django3 项目时,运行不起来,总是提示:DJANGO.CORE.EXCEPTIONS.IMPROPERLYCONFIGURED: SQLITE 3.9.0 OR LATER IS REQUIRED (FOUND 3.7.17).
centos默认安装的 SQLite 是 2.x 版本的,但是django要求是大于 3.9.0 版本的,所以会跑不起来。
这个是个比较头疼的问题,但是有两种解决方法:
方法一:升级centos的sqlite版本,目前这个方法,我还没彻底解决,ps:升级centos的sqlite后,从Python3导入的还是 2.x 版本。这个问题留待以后研究。
这个方法虽然还没有解决,但是可以先记录下安装centos的sqlite
1.创建文件夹,并进入文件夹
mkdir -p /usr/local/sqlite && cd /usr/local/sqlite 2.下载sqlite
wget wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz 3.解压,并进入解压后的文件夹
tar -zxvf sqlite-autoconf-3350500.tar.gz && cd sqlite-autoconf-3350500 4.设置配置文件,安装位置
./configure --prefix=/usr/local/sqlite 5.编译+安装
make && make install 6.将之前的sqlite链接做个备份,然后创建软链接
mv /usr/bin/sqlite3 /usr/bin/sqlite3.bak
ln -sf /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3 7.配置环境变量,并生效
export LD_LIBRARY_PATH = "/usr/local/lib"
source ~/.bashrc 8.检查sqlite版本
sqlite3 --version
方法二:使用pysqlite替换sqlite,这个方法就比较简单了,下面就讲一下这个方法
这个方法是不依赖系统的 sqlite ,而是使用 pysqlite3 和 pysqlite3-binary 来操作
1.先安装这两个库
pip3 install pysqlite3
pip3 install pysqlite3-binary
2.修改 base.py 文件
vi /huyang/python395/lib/python3.9.5/site-packages/django/db/backends/sqlite3/base.py
# from sqlite3 import dbapi2 as Database (注释掉这段)
from pysqlite3 import dbapi2 as Database # 启用pysqlite3
然后按 ESC ,输入 :wq!,保存退出文件
然后在运行项目,就可以正常运行了。
FAQ4:在安装Python库的时候,提示:ModuleNotFoundError: No module named '_ctypes'
需要安装 libffi-devel ,然后重新编译安装Python
yum install libffi-devel -y
cd Python-3.9.5
make install
django项目部署到centos,踩的坑的更多相关文章
- Linux学习笔记之Django项目部署(CentOS)
一.引入 用Django写了一个测试的项目,现在要部署在Linux上,一般这种情况下,只要在项目里面敲一行命令:python manage.py runserver 0.0.0.0:8000就行了.但 ...
- Linux学习笔记之Django项目部署(CentOS)----进阶篇
一.引入 当我们开发好了一个Django项目之后是需要部署到服务器上的,这样才能正式使用这个项目.之前用了一个运行.sh文件的方法让项目得以在后台运行,其实随着学习的深入,这种方法其实是有点low的, ...
- Windows下django项目部署 通过Apache2.4+mod_wsgi
经过几天踩坑,记录在Windows10下通过Apache2.4部署Django项目的过程 运行环境: 先说下环境,怎么安装倒是其次的,版本很重要,我是根据mod_wsgi的版本要求下载的各个版本(py ...
- Django项目部署在Linux下以进程方式启动
Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然, ...
- 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址
生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...
- Django项目部署(django+guncorn+virtualenv+nginx)
一.说明 为了django项目部署到生产环境上,能够稳定的运行,且能够同时指出http和https的访问,对django的部署进行了一些研究,决定采用django + gunicorn + virtu ...
- django项目部署过程
django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...
- Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决
前言 今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃.在百度一番查资料后 ...
- 学习VirtualEnv和Nginx+uwsgi用于django项目部署
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...
随机推荐
- Markdown 使用文档
MarkDown 简介 Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分 ...
- 一文带你搞懂 RPC 到底是个啥
RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议.我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点, ...
- 重新整理 .net core 实践篇————配置系统——军令(命令行)[六]
前言 前文已经基本写了一下配置文件系统的一些基本原理.本文介绍一下命令行导入配置系统. 正文 要使用的话,引入Microsoft.extensions.Configuration.commandLin ...
- golang快速入门(五)初尝web服务
提示:本系列文章适合对Go有持续冲动的读者 初探golang web服务 golang web开发是其一项重要且有竞争力的应用,本小结来看看再golang中怎么创建一个简单的web服务. 在不适用we ...
- 再见Xshell、Xftp!Python执行Linux命令、上传下载远程文件
相信大家应该都接触过Linux操作系统(Ubuntu.Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器. 常用的ssh工具主要有:Xshell.MobaXt ...
- GO学习-(28) Go语言操作influxDB
Go语言操作influxDB 本文介绍了influxDB时序数据库及Go语言操作influxDB. InfluxDB是一个开源分布式时序.事件和指标数据库.使用Go语言编写,无需外部依赖.其设计目标是 ...
- 4D毫米波雷达Radar
4D毫米波雷达Radar 围绕雷达.激光雷达.高精定位等新一代传感器技术将会进入量产周期. 自动驾驶公司的竞争,在传感器配置上坦白说并没有太多差异化.除了车载激光雷达属于近几年的产物,类似摄像头.毫米 ...
- Technology Document Guide of TensorRT
Technology Document Guide of TensorRT Abstract 本示例支持指南概述了GitHub和产品包中包含的所有受支持的TensorRT 7.2.1示例.Tensor ...
- JAVA复习题(一)基础知识
类的构造方法描述正确的是( )A. 类中的构造方法不能省略B. 构造方法必须与类同名,但方法不能与class同名C. 构造方法在一个对象被new时执行D. 一个类只能有一个构造方法我的答案:C正确答案 ...
- 【NX二次开发】Block UI 线宽
属性说明 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logical ...