Python项目进行离线部署

Python项目进行离线部署# 系列文章目录

文章目录

  • Python项目进行离线部署# 系列文章目录
  • 安装包准备:在网络条件下下载所需要的第三方库安装包
    • 一、提取第三方库目录到requirements.txt
    • 二、批量下载requirements.txt的whl文件
    • 三、可能存在的问题
    • 小结
  • 开始离线安装
    • 创建虚拟环境
    • 根据requirements.txt安装库
  • 总结
  • 命令行启动项目可能出现的问题


安装包准备:在网络条件下下载所需要的第三方库安装包

一、提取第三方库目录到requirements.txt

pip freeze > requirements.txt
更多详情在这篇文章里我已经充分解释过了链接

二、批量下载requirements.txt的whl文件

packages:下载后存放的目录名
如果下载速度过慢,后面可以接清华镜像-i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip download -d packages -r requirements.txt

三、可能存在的问题

可能在安装某些库的时候需要pip的版本能支持,版本过低会报错。建议单独将pip的最新版whl文件进行下载。
pip download -d packages pip

小结

至此,我们离线部署所需要的第三方库安装文件已经全部准备完毕。
Python项目进行离线部署_第1张图片

开始离线安装

创建虚拟环境

创建
python -m venv venv

激活
venv\Scripts\activate

根据requirements.txt安装库

为了确保安装顺利,先进行pip升级,packages为第三方库安装包路径
pip install --upgrade packages

批量安装
pip install -r requirements.txt --no-index -f packages

检查
pip freeze
Python项目进行离线部署_第2张图片

总结

至此就安装成功了

命令行启动项目可能出现的问题

如果项目有多级目录,运行时可能会出现找不到目录的情况。这是因为项目开发中伴随文件导入,而导入的路径是相对于项目顶级目录路径。
解决办法:
在运行文件中顶部加如下代码:
注意:添加的路径是项目顶级目录路径,根据自己的项目层级不同自行更改。

import sys
import os
sys.path.append(os.path.abspath(os.path.join(os.getcwd(), "../..")))

你可能感兴趣的:(项目运行与部署,python,服务器,运维)