Django开发环境(linux)

CentOS 环境上部署Django开发运行环境,基本和 Django开发环境(macOS) 相同,细节差异:

构建步骤

构建一个 onesre 项目运行环境
/usr/local/bin/python3.11 -m venv onesre_venv3

# 这里是因为CentOS 7.2新老python环境混合,清理了旧python版本
cd ~/onesre_venv3/bin
unlink python
unlink python3
ln -s /usr/local/bin/python3.11 python3
ln -s python3 python

# 激活
. onesre_venv3/bin/activate
  • 需要安装 mysql 开发包,例如 mariadb-devel ( 警告,一定要安装MariaDB 最新版本例如 v10.11 ,否则编译会失败 ) ,安装以后系统会有 mysql_config 工具:

需要提前安装 mysql-develmariadb-devel 才能执行 pip install mysqlclient
# yum install mysql-devel
yum install mariadb-devel
  • 在项目目录下重新恢复

根据requirements.txt恢复virtualenv依赖模块包
pip install -r source/requirements.txt

解决 pip 下载失败(手工下载安装)

墙内的杯具就是,在线安装的灵活方便往往会被GFW干成生不如死: pip install 过程中,遇到 Babel-2.12.1-py3-none-any.whl 下载始终中断的问题。解决的方法: pip离线安装Python包

  • 通过 pip downlaod 命令下载指定软件包(版本),这里举例 Babel-2.12.1-py3-none-any.whl :

pip download 可以下载指定版本python包
mkdir -p ~/onesre_venv3/whl/

# 指定版本下载python包
pip download -d ~/onesre_venv3/whl/ Babel==2.12.1
pip download -d ~/onesre_venv3/whl/ mysqlclient==2.2.0
# 需要特定版本的Django
pip download -d ~/onesre_venv3/whl/ Django==3.2.21


# 也可以不指定版本,则安装最新版本
pip download -d ~/onesre_venv3/whl/ Babel
pip download -d ~/onesre_venv3/whl/ mysqlclient

# 如果有 requirements.txt 采用如下方法打包所有whl文件
for whl in `cat requirements.txt`; do
    pip download -d ~/onesre_venv3/whl/ $whl
done
  • 将下载好的 .whl python包复制到目标主机,然后就可以直接离线安装:

pip install 可以安装下载好的 .whl python包
# 在目标主机上下载好 .whl 文件,然后执行本地安装
pip install Babel-2.12.1-py3-none-any.whl

MySQL Atlas 数据连接

生产环境采用 MySQL Atlas ,所以 Django使用MySQL Client配置(推荐) (这里包括数据库初始创建步骤):

参考