• 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下面,或者根据自己项目的位置放进去
    希望能交流更多技术,关注小白的微信公众号吧。
    在这里插入图片描述

    小白技术社
  • 相关阅读:
    12.python笔记之mysqldb模块
    13.python笔记之pyyaml模块
    11.python之线程,协程,进程,
    2.saltstack笔记之目标,模块,返回写入数据库
    6.django笔记之orm
    5.django笔记之form保存表单信息,动态select
    4.django笔记之admin
    docker批量删除none镜像
    docker 给none镜像打镜像
    jenkins卡在等待界面解决方法
  • 原文地址:https://www.cnblogs.com/xbjss/p/13326685.html
Copyright © 2020-2023  润新知