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的概念,并且在项目中实验性部署了一下(目 ...
随机推荐
- [rhel-media] :Yum软件仓库唯一标识符,避免与其他仓库冲突。
第1步:进入到/etc/yum.repos.d/目录中(因为该目录存放着Yum软件仓库的配置文件). 第2步:使用Vim编辑器创建一个名为rhel7.repo的新配置文件(文件名称可随意,但后缀必须为 ...
- JQuery 动态加载 HTML 元素时绑定点击事件无效问题
问题描述 假设项目中有一个列表页面,如下: 当点击列表一行数据可以显示详情页面,而详情页面的数据是根据当前行的数据作为参数,通过 ajax 请求到后台返回的数据,再根据返回的结果动态生成 html 页 ...
- s40 KVM虚拟化企业级实战
1-为何使用虚拟化 02-KVM虚拟化环境准备 yum install libvirt* virt-* qemu-kvm* -y [root@cs7-kvm ~]# systemctl start l ...
- spark_shuffle方式的演进过程
spark shuffle有四种方式,分别是 hashshuffle 优化后的hashshuffle sortshuffle bypass 一.hashshuffle与优化 一开始spark的shuf ...
- JS中的高阶函数
JS中的高阶函数 高阶函数是指以函数作为参数的函数,并且可以将函数作为结果返回的函数. 1. 高阶函数 接受一个或多个函数作为输入 输出一个函数 至少满足以上一个条件的函数 在js的内置对象中同样存在 ...
- 圆盘时钟效果 原生JS
圆盘时钟 旋转时钟 数字时钟 写在前面 仿荣耀手机时钟,设计的同款时钟效果 实现效果 实现原理 数字时钟 利用Date内置对象获取当下的时间,通过处理呈现在页面上 这一步获取时间是非常简单的,通过Da ...
- 聊聊 Spring 的 XML Schema 扩展机制的使用方式
前言 在当前Java生态,Spring算的上是最核心的框架,所有的开发组件想要得到大范围更便捷的使用,都要和Spring进行整合,比如我们熟知的Mybatis.Dubbo等,以及内部封装的各类组件包括 ...
- java面试一日一题:再谈垃圾回收器中的串行、并行、并发
问题:请讲下java中垃圾回收器的串行.并行.并发 分析:该问题主要考察在垃圾回收过程中垃圾回收线程和用户线程的关系 回答要点: 主要从以下几点去考虑, 1.串行.并行.并发的概念 2.如何考虑串行. ...
- Kali Linux 2021.2 发布 (Kaboxer, Kali-Tweaks, Bleeding-Edge & Privileged Ports)
Kali Linux 简介 Kali Linux 是基于 Debian 的 Linux 发行版,旨在进行高级渗透测试和安全审核.Kali Linux 包含数百种工具,可用于各种信息安全任务,例如渗透测 ...
- opencv——自适应阈值Canny边缘检测
前言 Canny边缘检测速度很快,OpenCV中经常会用到Canny边缘检测,以前的Demo中使用Canny边缘检测都是自己手动修改高低阈值参数,最近正好要研究点小东西时,就想能不能做个自适应的阈值, ...