• linux部署Python项目,并解决依赖自定义模块报错问题


    背景:windows中使用pycharm完成python项目,需在linux部署。

    一、安装Anaconda

    1. 下载Anaconda3-2021.05-Linux-x86_64.sh 文件 

    2. 执行命令 sh Anaconda3-2021.05-Linux-x86_64.sh

    3. 安装过程中,中间会有输入 "yes" 或 "no"的选项,一般全部输入“yes”. 

    4. 添加软链接  ln -s /***/***/Anaconda3/bin/python /usr/bin/python3

    5. 执行 python3, 看到进入python3命令行,即表示Anaconda安装成功。

    二、安装第三方包

    1. 联网环境:

       直接执行 python38 -m pip install  numpy 类似的命令;

    2. 离线环境

      2.1 互联网下载需要的依赖包    主要有 ****.whl 和 ****.tar.gz 两种格式

     2.2  将依赖包上传至离线Linux系统

     2.3 执行 python38 -m pip install ****.whl 即可安装  

    三、部署 python 项目

    1. 将windows开发好的 python项目文件上传至linux

    2. 进入主函数Py文件 (如test.py) 所在目录

    3. 执行命令 nohup python3 test.py runserver & 

    4. 遇到报错信息:

        项目中import自定义模块报错,找不到模块。

       解决方案:将自定义模块所在目录全部加入系统路径

     如 我的test.py文件在my_api文件夹中,在test.py文件中执行以下代码,就能将my_api上一级目录,及上一级目录对应的所有子目录加入sys.path

    1. def append_my_path():
    2. cur_path = os.path.abspath(os.path.dirname((__file__)))
    3. root_path = os.path.split(cur_path)[0]
    4. sys.path.append(root_path)
    5. sub_dir_lists = os.listdir(root_path)
    6. for dir in sub_dir_lists:
    7. sub_dir = root_path + "/" + dir
    8. if os.path.isdir(sub_dir):
    9. sys.path.append(sub_dir)

  • 相关阅读:
    Pytorch之LeNet-5图像分类
    Controller层代码组织方式
    RabbitMQ高级篇,进阶内容
    如何避免无效的沟通
    jmap执行失败了,怎么获取heapdump?
    机器人中的数值优化(十七)—— 锥与对称锥
    项目从编码到上线的全过程详解
    QT : 仿照QQ 完成弹出登录窗口,并实例化组件
    20220629_MyBatis_数据库增删改查练习(三)
    Pr 时间重映射卡点
  • 原文地址:https://blog.csdn.net/zhuzuwei/article/details/126221452