当前位置:首页>python>Debian 12 部署 python虚拟环境、生产环境相同Django版本笔记

Debian 12 部署 python虚拟环境、生产环境相同Django版本笔记

  • 2026-10-11 05:52:21
Debian 12 部署 python虚拟环境、生产环境相同Django版本笔记

一、安装 Python 虚拟环境(支持 workon)

安装相关软件

sudo apt updatesudo apt install -y \    python3 \    python3-pip \    python3-venv \    virtualenv \    virtualenvwrapper

确认安装:

dpkg -l | grep virtualenvwrapper

输出类似:

ii  python3-virtualenvwrapperii  virtualenvwrapper

二、配置 virtualenvwrapper

查找脚本位置:

dpkg -L virtualenvwrapper | grep virtualenvwrapper.sh

Debian 12 通常为:

/usr/share/virtualenvwrapper/virtualenvwrapper.sh

编辑:

vim ~/.bashrc

追加:

export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

使配置生效:

source ~/.bashrc

验证:

type workon

输出:

workon is a function

三、创建虚拟环境

创建:

mkvirtualenv MyDjango

退出:

deactivate

进入:

workon MyDjango

查看当前 Python:

which python

例如:

/root/.virtualenvs/MyDjango/bin/python

四、安装 requirements.txt

升级基础工具:

pip install --upgrade pip setuptools wheel

安装依赖:

pip install -r requirements.txt

五、解决 GitHub 无法访问问题

错误:

Failed to connect to github.com port 443

原因:

requirements.txt 中存在 GitHub 源码依赖:

git+https://github.com/xxx/xxx.git

国内服务器无法访问 GitHub。


解决方案

配置 GitHub 镜像:

git config --global \url."https://ghfast.top/https://github.com/".insteadOf \https://github.com/

然后重新:

pip install -r requirements.txt

六、解决 mysqlclient 编译失败

错误:

pkg-config: not foundCan not find valid pkg-config name

原因:

缺少 MariaDB/MySQL 开发库。

安装:

sudo apt install -y \    pkg-config \    build-essential \    python3-dev \    libmariadb-dev \    libmariadb-dev-compat

验证:

pkg-config --modversion mariadb

正常输出版本号即可。

重新安装:

pip install mysqlclient==2.2.0

或:

pip install -r requirements.txt

七、解决 pkuseg 安装失败

requirements:

Django==4.2mysqlclient==2.2.0pkuseg==0.0.25

错误:

ModuleNotFoundError: No module named 'numpy'

以及:

fatal error: longintrepr.h: No such file or directory

原因分析

pkuseg 0.0.25:

  • • 依赖 numpy
  • • 不兼容 Python 3.11

即使安装 numpy 后:

pip install numpy

仍然会出现:

longintrepr.h

错误。


确认项目是否使用 pkuseg

搜索:

grep -R "import pkuseg" .

或:

grep -R "pkuseg" .

本项目处理方式

检查后发现:

项目实际上没有使用 pkuseg。

因此直接从 requirements.txt 删除:

# 删除pkuseg==0.0.25

重新安装:

pip install -r requirements.txt

安装成功。


八、常用虚拟环境命令

查看所有环境:

lsvirtualenv

进入环境:

workon MyDjango

退出环境:

deactivate

删除环境:

rmvirtualenv MyDjango

九、常见依赖安装命令

推荐提前安装:

sudo apt install -y \    build-essential \    python3-dev \    pkg-config \    libssl-dev \    libffi-dev \    libmariadb-dev \    libmariadb-dev-compat \    libjpeg-dev \    zlib1g-dev

这样可以避免大多数 Python 包编译失败。


十、本次部署最终结论

成功安装环境:

Debian 12Python 3.11Django 4.2mysqlclient 2.2.0virtualenvwrapper

处理的问题:

  1. 1. virtualenvwrapper 配置
  2. 2. GitHub 无法访问
  3. 3. mysqlclient 编译依赖缺失
  4. 4. pkuseg 与 Python 3.11 不兼容

最终解决方案:

  • • 配置 virtualenvwrapper
  • • 使用 GitHub 镜像
  • • 删除未使用的 pkuseg 依赖

项目成功完成 requirements.txt 安装。

最新文章

随机文章