关于阿里云centos系统下宝塔面板部署django/中pip install mysqlclient失败问题的大总结/阿里云使用oss长期访问凭证

python版本3.12.0

项目的版本依赖

问题1

解决方案

sudo vim /etc/profile

export MYSQLCLIENT_CFLAGS="-I/usr/include/mysql"

export MYSQLCLIENT_LDFLAGS="-L/usr/lib64/mysql"

Esc退出编辑模式

:wq退出并且保存

问题二 说是找不到 mysql.h头文件

CentOS 'mysql/mysql.h': No such file or directory

问题概述:起因是为了方便直接用宝塔安装了php和mysql,然后项目需要开启pdo_mysql,却发现没有这个拓展包,于是手动去下载该拓展包进行编译。但是执行make命令时出现了问题,报错如下:

参考博客:https://www.cnblogs.com/inkqx/p/13566250.html

应该是找不到mysql.h,但是系统已经装了mysql,应该是有包含该文件的,所以先看下该文件是否存在。

  1. 执行find命令查找该文件
    find / -name mysql.h
    得到该文件路径/www/server/mysql/include/mysql.h
    ps:这是宝塔安装的路径,因此会与默认路径不一致
  2. 建立软连接,执行
    ln -s /www/server/mysql/include/* /usr/local/include/
  3. 注意建立软连接一定要在宝塔面板的终端中执行
    说明:这里的 /www/server/mysql/include/* ,是你的mysql路径/include/*,而/usr/local/include/是原默认路径,可以不更改
    寻找虚拟环境:

find / -name activate

进入虚拟环境 source /www/wwwroot/www.atlongwen.top/DNA/venv/Scripts/activate

source /www/server/pyporject_evn/versions/3.12.0/lib/python3.12/venv/scripts/common/activate

pip install -r /www/wwwroot/www.atlongwen.top/DNA/requirements.txt

如果还是不可以请安装以下依赖 ,再执行以上的解决方案

sudo yum install pkgconfig

sudo yum install mysql-devel

sudo yum install mysql-connector-c

pip install mysqlclient 重要

问题 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.

解决步骤:

一,安装mysql驱动,打开cmd.

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pymysql

二,在django项目下的setting.py下进行配置。

Database

https://docs.djangoproject.com/en/4.0/ref/settings/#databases

DATABASES = {

'default':

{

'ENGINE': 'django.db.backends.mysql', # 数据库引擎

'NAME': 'jljupcs', # 数据库名称

'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1

'PORT': 3306, # 端口

'USER': 'root', # 数据库用户名

'PASSWORD': '', # 数据库密码

}

}

三,在与 settings.py 同级目录下的 init.py 中引入模块和进行配置

import pymysql

pymysql.install_as_MySQLdb()

直接打开终端执行迁移就可以了 ,不用进入虚拟环境

生成迁移文件 python manage.py makemigrations

执行py迁移 python manage.py migrate

迁移完数据库直接 启动就可以了

关于uniapp上传到django服务器后台 图片文件上传不上去 权限问题

增加权限

增加权限 tmp文件夹

关于阿里云使用oss长期访问凭证

如何为Python SDK配置访问凭证 - 对象存储 OSS - 阿里云

centos中宝塔面板中部署的django项目无法获取系统环境变量

获取环境变量中的OSS访问凭证

复制代码
    oss_access_key_id = os.getenv('OSS_ACCESS_KEY_ID')
    oss_access_key_secret = os.getenv('OSS_ACCESS_KEY_SECRET')
    
    print("OSS_ACCESS_KEY_ID:", oss_access_key_id)
    print("OSS_ACCESS_KEY_SECRET:", oss_access_key_secret)

获取不到环境变量

和阿里云的技术人员探讨了半天

最终解决方案 例子

复制代码
复制代码
`auth = oss2.Auth(access_key_id, access_key_secret)``bucket = oss2.Bucket(auth, 'oss-cn-hangzhou.aliyuncs.com', 'examplebucket')`

直接将access_key_id access_key_secret写在代码里就可以上传了,不在centos系统中设置osss的环境变量了

相关推荐
2601_9583205722 分钟前
【零基础新手入门 】OpenClaw 2.6.6 对接阿里云百炼配置教程(包含安装包)
人工智能·阿里云·云计算·open claw·小龙虾·open claw安装·open claw一键安装
OpenClawCSDN12 小时前
2026年怎么集成Hermes Agent/OpenClaw?阿里云搭建及token Plan配置攻略
阿里云·云计算
OpenClawCSDN18 小时前
2026年5月阿里云怎么搭建OpenClaw/Hermes Agent?百炼token Plan配置详解教程
阿里云·云计算
idolao18 小时前
CentOS 7 安装 jakarta-tomcat-connectors-jk2-src-current.tar.gz 详细步骤(解压、编译、配置)
linux·centos·tomcat
码界筑梦坊20 小时前
111-基于Python的中国旅游用户数据可视化分析系统
python·信息可视化·django·毕业设计·旅游
YJlio1 天前
10.2.8 以其他账户运行服务(Running services in alternate accounts):为什么“把服务切到某个用户账号下运行”,本质上是在改变服务的整个安全上下文?
python·安全·ios·机器人·django·iphone·7-zip
OpenClawCSDN1 天前
2026年5月阿里云OpenClaw/Hermes Agent集成攻略+百炼token Plan配置全览教程
阿里云·云计算
小熊Coding1 天前
懂车帝汽车销售数据可视化分析系统
python·信息可视化·django·汽车·数据可视化分析·懂车帝·汽车销售数据分析
HABuo1 天前
【linux(四)】套接字编程--基于UDP协议的客户端服务端
linux·服务器·c++·网络协议·ubuntu·udp·centos
ma_de_hao_mei_le2 天前
ntquerysystemiunfomation 数据传递
django