栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python项目从开发环境部署到linux服务器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python项目从开发环境部署到linux服务器

第一次部署项目的时候参考了这个博客,先在这里表示感谢!
注:示例的开发是在mac上,windows可能会稍有不同

整体分为三个部分六个步骤

  • 开发端
    • 代码打包
    • 依赖环境导出
  • 文件传输
    • 文件传输
  • 服务端
    • 建虚拟环境
    • 依赖包安装
    • 解压包和执行
1. 开发端要做的准备有两项 1.1 代码打包

可以打包成tar.gz或者zip格式,这里以zip举例:
把所在开发目录下的data文件夹打包成 data.zip

zip -r data.zip data

更多zip命令看这里

1.2 依赖环境导出

依赖环境导出为 requirements.txt 文件

pip freeze >requirements.txt

或

pip list --format=freeze > requirements.txt

目标是获得以下格式的文件内容

Bottleneck == 1.3.4
catboost == 0.26.1
certifi == 2022.5.18.1
click == 8.0.4
cycler == 0.11.0
Flask == 2.0.3


我在使用第一个导出语句的时候,文件内容格式出现了问题:

mkl-fft == 1.3.1
mkl-random @ file:///opt/concourse/worker/volumes/live/…
mkl-service == 2.4.0
numexpr @ file:///opt/concourse/worker/volumes/live/31f789a7…

导致在服务端导入文件时报错:

ERROR: Could not install packages due to an EnvironmentError

更多内容可参考讨论,讲得更全面。(感谢这篇文章)


文件传输

data.zip 和 requirements.txt 上传到服务器
我这服务器上有jupyter,直接上传就行


注:文件上传方式多样,请参考其他文章

2. 服务端要做的事情 2.1 建虚拟环境

建议部署在虚拟环境下
代码参考

新建一个虚拟环境

conda create -n your_env_name python=X.X   your_env_name为虚拟环境名称,X.X为python版本号

激活(使用/进入)虚拟环境

source activate your_env_name
2.2 依赖包安装

默认使用conda安装各依赖包,conda无法安装时切换为pip安装

$ while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt

更多内容参考

2.3 解压代码和执行

解压zip文件到当前目录

unzip data.zip -d ./

解压之后运行data文件夹下的main.py

python main.py
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号