Django项目上线-报错汇总

作者 : admin 本文共2786个字,预计阅读时间需要7分钟 发布时间: 2024-06-9 共2人阅读

Django项目上线-报错汇总

下列报错基本都是Python环境相关

pip install 报错

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Django项目上线-报错汇总插图

debian运行pip报错ssl module in Python is not available – z417 – 博客园 (cnblogs.com)

处理方案

# 散出之前编译安装的Python
rm -rf /usr/local/python3.7/

yum install openssl-devel -y
vim Python-3.7.9/Modules/Setup

去除图中的5行注释

Django项目上线-报错汇总插图(1)

重新编译即可

cd Python-3.9.7
./configure --prefix=/usr/local/python3
make && make install

项目启动报错

1、ModuleNotFondError:No module named ‘_sqlite3’ | 安装sqlite**(未使用)**

Django项目上线-报错汇总插图(2)

处理方案:

yum -y install sqlite-devel
find / -name _sqlite3.so
cp /usr/lib64/python2.7/lib-dynload/_sqlite3.so /usr/local/python3.7/lib/python3.7/lib-dynload/

参考:Python No module named ‘_sqlite3’ 解决方案_no module named sqlite3-CSDN博客

2、ImportError: dynamic module does not define module export function (PyInit sqlite3) | 安装sqlite(可使用)

Django项目上线-报错汇总插图(3)

处理方案:

# 编译安装Python,并启用编译安装好的sqlite3
LD_RUN_PATH=/usr/local/sqlite3/lib ./configure --prefix=/usr/local/python3.7 LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
LD_RUN_PATH=/usr/local/sqlite3/lib make
LD_RUN_PATH=/usr/local/sqlite3/lib sudo make install

参考:

ImportError: dynamic module does not define module export function (PyInit__sqlite3) – 游走的鱼 – 博客园 (cnblogs.com)

安装Python3并包含sqlite3_python3 安装 sqlite3-CSDN博客

3、django.core,exceptions,ImproperlyConfigured: sOLite 3.9.0 or later is reguired (found 3.7.17)

由于sqlite版本太多,更换版本

Django项目上线-报错汇总插图(4)

处理方案:

# 编译安装sqlite(3.36.0版本)
wget http://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar -zxvf sqlite-autoconf-3360000.tar.gz
cd sqlite-autoconf-3360000
./configure --prefix=/usr/local/sqlite
make && make install

# 验证版本
$ python3
>>> import sqlite3
>>> sqlite3.sqlite_version

参考:django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17)-CSDN博客

4、mportError: urllib3 v2.0 only supports 0penssL 1.1.1t, currently the1SSmocule iscompiledwith’0penSsl 1.0.2k-fips 26 J22017’, See: http://github.com/urllib3/urllib3/issues/2168

更新urllib3版本

Django项目上线-报错汇总插图(5)

处理方案:

pip install urllib3==1.26.15  -i http://pypi.tuna.tsinghua.edu.cn/simple

参考:[【已解决】ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compiled-CSDN博客](http://blog.csdn.net/m0_57021623/article/details/136610264#:~:text=回答%3A 这个错误是由于 urllib3 的新版本需要 OpenSSL 1.1.1%2B以上版本引起的。 而当前的 ssl,SSL 2.8.3编译的,不符合要求。 解决 这个问题的方法是更新 ssl 模块的版本,使其与 urllib3 的要求相匹配。)

5、You have 1 unapplied migration(s). Your project may not work properly until you apply

运行 python manage.py runserver 0.0.0.0:8000时,报错

Django项目上线-报错汇总插图(6)

处理方案:

$ python manage.py migrate

# 再次运行
$ python manage.py runserver 0.0.0.0:8000

参考:解决:You have 18 unapplied migration(s). Your project may not work properly until you apply-CSDN博客

6、Invalid HTTP_HOST header: ‘192.168.200.11:8080’. You may need to add ‘192.168.200.11’ to ALLOWED_HOSTS.

添加ALLOWED_HOSTS

Django项目上线-报错汇总插图(7)

解决方法:

修改settings.py

ALLOWED_HOSTS = ['192.168.2.157','127.0.0.1']

值为’*’,可以使所有的网址都能访问Django项目了,失去了保护的作用,可以用于测试

ALLOWED_HOSTS = ['*']

参考:Django 遇到 Invalid HTTP_HOST header – 慕尘 – 博客园 (cnblogs.com)

7、local variable ‘cursor referenced before assignment

Django项目上线-报错汇总插图(8)

现象:登录报错,应该是数据库没连接上。

原因:数据库没有启动

End

本站无任何商业行为
个人在线分享 » Django项目上线-报错汇总
E-->