使用外部配置包装烧瓶

时间:2018-12-05 19:25:12

标签: python flask pyinstaller

我正在使用Anaconda并通过 python 3.5 设置venv,但可以根据需要轻松更改版本-在 windows 10

上运行

我的目标是创建具有以下布局的可共享文件:

shared_folder/
 ├── appLauncher.exe
 ├── config.py
 └── user_data/
     ├── images/
     └── database.db

可执行文件在其中读取config.py文件,而config.py文件指示可执行文件从user_data文件夹读取数据。 (目前,我不使用配置文件,而是对路径进行硬编码-只是试图使其正常工作)

我当前的目录如下:

shared_folder/
├── WebApp/
│    ├── static/
│    │    ├── css/
│    │    └── js/
│    ├── templates/
│    ├── __init__.py
│    └── routes.py
├── appLauncher.py
├── config.py
└── user_data/
     ├── images/
     └── database.db

我正在努力解决两个问题(并将这个问题发布为两个问题):

1. How can I direct flask to look outside of the static folder and read data from the user_data folder? For both the sqlite DB and the images?

2。如何使用pyinstaller打包此文件,以允许我引用config.py和user_data文件

当前拆除示例(仅尝试从user_data提取一张图像):

appLauncher.py:

if __name__ == "__main__":
  from WebApp import app
  app.run()

static / css / play.css:

.helloworld {
  font-size: 80px;
}

templates / index.html:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>my App</title>
  </head>
  <body>
    <link rel="stylesheet" href={{ url_for("static", filename="css/play.css") }}>
    <div class="helloworld">Hello World!</div>
    <!-- <img src='{{ url_for("static", filename="flask.jpg") }}'> -->
    <img src='{{ img }}'>
    <img src='{{ img|safe }}'>
  </body>
</html>

WebApp / 初始化 .py:

from flask import Flask
app = Flask(__name__)

import WebApp.routes

WebApp / routes.py:

from WebApp import app
from flask import render_template, url_for, send_file

@app.route("/")
@app.route("/index")
def hello():
    return render_template(
        "index.html",
        img = send_file(r"C:\Users\EvanS\Desktop\FlaskExternalEXE\user_data\flask.jpg")
    )

0 个答案:

没有答案