当前位置: 首页 > news >正文

自己的服务器 linux centos8部署django项目

参考教程 https://blog.csdn.net/hhq2002322/article/details/143214160

mysql -V

其他位置安装失败 只能用python项目管理器安装

从截图内容来看,在宝塔面板的 “Python 项目管理器” 中添加名为 “longwen” 的 Python 项目时,出现了依赖安装错误,具体是安装mysqlclient时构建失败。

错误信息显示:

  • 关键错误提示为 Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually,表明安装mysqlclient时缺少必要的环境变量配置。
  • 错误根源是构建mysqlclient的 wheel 包失败(Failed to build mysqlclient),这通常与系统中未安装 MySQL 开发依赖库(如libmysqlclient-dev)有关。

此外,日志中还提到项目日志的定位信息(默认在项目目录的logs/error.log),以及自定义项目路径需填写完整路径的提示。

如何解决

要解决宝塔面板中 Python 项目安装mysqlclient时的错误,可按以下步骤操作:

1. 安装 MySQL 开发依赖库(Linux 服务器)

通过宝塔终端或 SSH 连接服务器,执行以下命令安装 MySQL 客户端开发包:

bash

运行

# CentOS/RHEL系统
yum install mysql-devel -y# Ubuntu/Debian系统
apt-get install libmysqlclient-dev -y

解决方案

在 Linux 系统中提示 “找不到 vim 命令”,通常是因为系统未安装vim编辑器,可按以下方法解决:

1. 安装 vim(根据系统类型选择命令)

打开终端(宝塔面板的 “终端” 或 SSH 连接),执行对应命令:

  • CentOS/RHEL 系统(使用 yum 包管理器):

    bash

    运行

    sudo yum install vim -y

sudo vim  /tc/profile

export MYSQLCLIENT_CFLAGS="-I/usr/include/mysql"
export MYSQLCLIENT_LDFLAGS="-L/usr/lib64/mysql"

Esc退出编辑模式
:wq退出并且保存

linux切换新的python版本设置环境变量

在 Linux 系统中切换 Python 版本并设置环境变量,可通过以下方法实现(适用于全局切换或指定项目使用特定版本):

方法 1:通过update-alternatives管理系统默认 Python 版本(推荐)

update-alternatives是 Linux 系统自带的版本管理工具,可方便切换默认 Python 版本。

步骤:
  1. 查看当前已安装的 Python 版本及路径先确认需要切换的 Python 版本安装路径(例如/usr/bin/python3.8/www/server/pyenv/versions/3.10.12/bin/python3):

    bash

    运行

    which python3.8   # 查看Python 3.8路径
    which python3.10  # 查看Python 3.10路径
    
  2. 将 Python 版本添加到update-alternatives假设要添加python3.8python3.10,执行:

    bash

    运行

    # 替换为实际路径,优先级数字越大,默认优先级越高
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 100
    sudo update-alternatives --install /usr/bin/python3 python3 /www/server/pyenv/versions/3.10.12/bin/python3 200
    
  3. 切换 Python 版本执行以下命令,按提示输入编号选择目标版本:

    bash

    运行

    sudo update-alternatives --config python3
    

    示例输出:

    plaintext

    有 2 个候选项可用于替换 python3 (提供 /usr/bin/python3)。选择       路径                                          优先级  状态
    ------------------------------------------------------------
    * 0            /www/server/pyenv/versions/3.10.12/bin/python3   200       自动模式1            /usr/bin/python3.8                               100       手动模式2            /www/server/pyenv/versions/3.10.12/bin/python3   200       手动模式要维持当前值[*]请按<回车键>,或者键入选择的编号:2  # 输入编号切换
    
  4. 验证切换结果

    bash

    运行

    python3 -V  # 输出应显示目标版本,如 Python 3.10.12
    

方法 2:直接修改环境变量(临时 / 永久生效)

若只需临时切换版本,或为特定用户 / 项目设置,可通过修改PATH环境变量实现。

临时生效(当前终端会话):

直接将目标 Python 版本的路径添加到PATH最前面(优先调用):

bash

运行

# 替换为目标Python版本的bin目录路径
export PATH="/www/server/pyenv/versions/3.10.12/bin:$PATH"# 验证
python3 -V  # 应显示目标版本

宝塔中创建python虚拟环境,使用虚拟环境版本

在宝塔面板中创建 Python 虚拟环境并指定版本,步骤如下:

1. 安装目标 Python 版本(前提)

虚拟环境依赖已安装的 Python 版本,需先确保目标版本存在:

  1. 进入宝塔面板 → Python 项目管理器 → 版本管理
  2. 在 “可安装版本” 中找到需要的 Python 版本(如 3.9.10、3.10.12 等),点击安装(等待安装完成,确保网络稳定)。

2. 创建虚拟环境(指定版本)

  1. 安装完成后,回到Python 项目管理器 → 虚拟环境标签页。
  2. 点击创建虚拟环境,填写信息:
    • 环境名称:自定义(如venv-3.9,建议包含版本号,便于区分)。
    • Python 版本:下拉选择刚安装的目标版本(如 3.9.10,列表中会显示已安装的版本)。
    • 安装路径:默认路径即可(通常为/www/wwwroot/虚拟环境目录),或自定义路径(需确保权限为www用户可访问)。
  3. 点击确定,等待虚拟环境创建(几秒到一分钟,取决于服务器性能)。

3. 为项目关联虚拟环境

创建完成后,需将虚拟环境绑定到具体项目,使项目使用该版本:

(1)新建项目时关联
  • 点击Python 项目管理器 → 添加项目
  • 填写项目名称、项目路径(需包含manage.py等核心文件)。
  • 虚拟环境选项中,下拉选择刚创建的虚拟环境(如venv-3.9)。
  • 配置启动文件(如wsgi.py路径)、端口等,点击提交完成创建。
(2)已有项目切换虚拟环境
  • Python 项目管理器的项目列表中,找到目标项目,点击右侧设置
  • 在 “基础设置” 中,找到虚拟环境选项,下拉选择新创建的虚拟环境。
  • 点击保存后,点击项目右侧重启,使新环境生效。

sudo /www/server/python_manager/versions/3.9.10/bin/python3 -m venv venv-3.9  # 虚拟环境名称自定义,如venv-3.9
 

现在项目就完全部署成功了。

迁移数据库

source /home/venv-3.9/bin/activate

python manage.py makemigrations
python manage.py migrate

-- 1. 创建用户并设置密码(若用户已存在,可跳过此步或使用ALTER USER修改密码)
CREATE USER 'admin'@'%' IDENTIFIED BY 'xe293358';-- 2. 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;-- 3. 刷新权限使其生效
FLUSH PRIVILEGES;
http://www.dtcms.com/a/537043.html

相关文章:

  • 做网站注册会员加入实名认证功能广西建设工程质量监督网站
  • 遵义哪里有做网站的外国网站上做Task
  • 动态修改浏览器地址而不刷新页面
  • 车牌识别相机:中哈口岸的通关智能助力
  • 音视频开发远端未发布视频占位图2
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 9 章 STM32 固件库介绍
  • OpenCV 视频处理
  • 有些网站做不了seo物业公司会计好做吗
  • 实惠的制作网站网站首页的功能需求分析
  • ROS2 轨迹规划核心点
  • [GESP202506 五级] 奖品兑换
  • Strassen矩阵乘法算法
  • 网站开发新闻怎么写相应式手机网站建设
  • [C++][windows]C++类成员函数默认参数和成员变量初始化问题
  • Vue 动态路由复制标签页失效?彻底解决新标签页路由空白问题
  • 扁平化网站特效张家港网站建设培训班
  • 【GaussDB】深入剖析Insert Select慢的定位全过程
  • 面向智能体与大语言模型的 AI 基础设施:选项、工具与优化
  • 招商网站建设服务商湖南专业网站建设服务
  • 从0到1:易趋驱动产品研发项目全流程管理效能跃升
  • 巴彦淖尔市百家姓网站建设文昌市规划建设管理局网站
  • JAX 高性能机器学习的新选择 - 从NumPy到变换编译
  • 能盈利的网站网站首页description标签
  • Geoserver修行记-安装CSS插件避坑
  • O(1) 时间获取最小值的巧妙设计——力扣155.最小栈
  • 韩国网站建设wordpress安装博客步骤
  • dbpystream webapi: 一次clickhouse数据从系统盘迁至数据盘的尝试
  • 大数据-136 - ClickHouse 集群 表引擎详解 选型实战:TinyLog/Log/StripeLog/Memory/Merge
  • 高效的项目构建和优化之前端构建工具
  • 网站建设公司宣传文案如何通过cpa网站做推广