找不到模板 pyinstaller BOTTLE

问题描述 投票:0回答:2

我使用 pyinstaller 为一个朋友的个人项目的 Bottle_app 创建了一个可执行文件。但是,运行可执行文件后,无法加载主页模板。

服务器的控制台仅在几次刷新后显示以下内容:

Bottle v0.12.19 server starting up (using WSGIRefServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit

127.0.0.1 - - [02/Apr/2021 08:01:30] "GET / HTTP/1.1" 500 788
127.0.0.1 - - [02/Apr/2021 08:01:30] "GET /favicon.ico HTTP/1.1" 404 742
127.0.0.1 - - [02/Apr/2021 08:01:35] "GET / HTTP/1.1" 500 788
127.0.0.1 - - [02/Apr/2021 08:01:36] "GET / HTTP/1.1" 500 788

当我在我的机器上正常运行 Bottle_app.py 文件时,它工作正常。

这是我在 pyinstaller 中运行的命令

pyinstaller --onefile --add-data 'views/*;views' --add-data 'views/css;views/css' --add-data 'views/js;views/js'--add-data 'pricesBeef.csv;.' --add-data 'pricesHog.csv;.' --add-data 'pricesLamb.csv;.' 'bottle_app.py'

这是我的应用程序的结构

bottle_app.py
价格牛肉.csv
价格Lamb.csv
价格Hog.csv
视图(文件夹)
->7 个 html 文件(内部视图)
->css(视图内的文件夹)
->->css 文件(仅在 css 文件夹内)
->js(视图内的文件夹)
->->js 文件(仅限 js 文件夹内的文件)

我没有收到任何回溯错误,这对我来说是奇怪的部分。

python pyinstaller bottle
2个回答
0
投票

不是直接答案,而是解决方法

使用

--onedir
而不是
--onefile
,只需使用可执行文件的快捷方式即可。即使目录中有 .pdy 文件,它也可以在不需要安装 python 的情况下工作


0
投票

有一个对我和其他人都有效的解决方法:

import os
import sys

f = open(os.devnull, 'w')
sys.stdout = f
sys.stderr = f

import eel

它的基本作用是将 sys.stderr 和 sys.stdout 重定向到 /dev/null。

我想归功于我找到它的线程:https://github.com/python-eel/Eel/issues/654

© www.soinside.com 2019 - 2024. All rights reserved.