• pyinstaller打包web项目


    pyinstaller打包python非web项目网上资料特别多,但就对于web项目少之又少。
    今天在打包Python的tornado项目时,出现无法找到静态文件和html,但是在非打包时却运行正常,浏览器能够正常访问,打包之后就出现这个问题。
    查找相关资料之后发现,-F 这个参数和templates static这两个的文件的路径问题。

    -F
    这个不建议在web项目打包时使用,因为这个参数虽然使整个项目只有入口文件,
    但是当整个项目运行之后,它会生成一个临时文件,并且这个临时文件夹是随机命名的,放在 /tmp/随机文件夹/ 里面
    有兴趣可以使用tornado试试,获取当前路径并打印即可。
    

    下面是解决方案,用一个获取当前文件夹路径的方法,获取templates static的路径即可,使得项目路径可以随时随地的变化,不受其他因素影响。

    def src_path():
    	if hasattr(sys, '_MEIPASS'):
    	    base_dir = sys._MEIPASS
    	else:
    		base_dir = os.path.abspath('.')
    	return base_dir
    剩下的在tornado或者其他Python web项目的静态路径调用该方法就行。
    

    templates static需要放到打包之后的dist下面,或者根据自己项目的位置放进去
    希望能交流更多技术,关注小白的微信公众号吧。
    在这里插入图片描述

    小白技术社
  • 相关阅读:
    python面向对象的3个特点
    Redis-哈希槽
    PEP8 Python 编码规范
    每个人都要对自己进行5 项必要投资
    机器码和字节码
    python优缺点分析及python种类
    Zookeeper安装及运行
    Zookeeper简介与集群搭建
    Nginx Linux详细安装部署教程
    Nginx代理功能与负载均衡详解
  • 原文地址:https://www.cnblogs.com/xbjss/p/13326685.html
Copyright © 2020-2023  润新知