python项目pycharm+virtualenv 本地调试+linux部署

网上有很多介绍在pycharm中怎么使用virtualenv ,但是后续在linux部署并不是很详细,以下为一个python项目本地调试,服务器部署的操作记录:

回顾一下:最简单粗暴部署方式:

本地通过idea开发后,生成requirements.txt文件,把整个文件夹上传至服务器,服务器上执行pip install -r requirements.txt,然后python XX.py 运行。(最好不要这样做,因为pip 安装的包是安装在系统的变量中,如果另外一个项目也用到系统中这个包不同版本,可能就引起冲突问题,于是我们需要借助virtualenv)

virtualen就是一个虚拟工具,能把系统中python环境复制出一份,可以选择是最简复制还是把依赖全部复制
  • 以在pycharm中创建一个项目为例(professional 版,用idea开发python也建议转用pycharm)
    python项目pycharm+virtualenv 本地调试+linux部署_第1张图片

    • 1.代表创建一个新的venv环境
    • 2.代表新建venv环境中包含所有依赖的包
    • 3.代表新建的venv环境可以在其他项目中使用
    • 4.代表使用存在的python sdk,可以选择之前由3创建的环境

我们的目的就是在创建的环境中安装依赖时,不干扰系统的python环境变量

现在假设本地开发已经完成,要把项目放于linux上运行
  • 本地pip freeze >requirements.txt,生成requirements.txt
    python项目pycharm+virtualenv 本地调试+linux部署_第2张图片
  • 项目结构
    python项目pycharm+virtualenv 本地调试+linux部署_第3张图片
  • 上传到服务器,不用上传venv模块
  • 服务器上安装virtualenv
# python3 的 pip3
pip3 install virtualenv
# 创建环境ENV
virtualenv ENV
cd ENV
# 启用此环境,后续命令行前面出现(ENV)代表此时环境已切换,
source ./bin/activate
# 之后执行pip python3 等指令,相当于是在此环境中执行
pip3 install -r /opt/flask2/requirements.txt
# 此时看到依赖已安装,
pip3 list
# 运行,
python3 /opt/flask2/flask2.py

运行成功,且与系统python环境隔离
python项目pycharm+virtualenv 本地调试+linux部署_第4张图片

总结,这篇文章介绍了一个python项目从开发到部署的一种简单的实现,利用virtualenv不影响其他项目运行,在打包方面,也是最简单的整个文件夹上传,后续有更方便的方式将继续记录

你可能感兴趣的:(python)