一、安装 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 后:
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
处理的问题:
- 4. pkuseg 与 Python 3.11 不兼容
最终解决方案:
项目成功完成 requirements.txt 安装。