setuptools, не включая шаблоны колб при создании дистрибутива - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь упаковать простое приложение Flask с setuptools / wheel, следуя этому руководству в качестве руководства:

https://web.archive.org/web/20160304042817/http://www.plankandwhittle.com/packaging-a-flask-web-app/

Но когда я устанавливаю получившееся колесо в новой виртуальной средедля тестирования я получаю сообщение об ошибке, указывающее, что шаблоны не были включены, хотя я настроил для этого файл setup.py.

Вот мой файл setup.py:

from setuptools import setup, find_packages
setup(
    name="finapp",
    version="0.1",
    packages=find_packages(),
    install_requires=[
        "Flask==1.0.2",
        "Flask-Login==0.4.1",
        "py-bcrypt==0.4",
    ],
    scripts=['finapp.py',
             'users.py'],
    include_package_data=True,
    package_data={
        'static': 'static/*',
        'templates': 'templates/*',
    },
    classifiers=[
        "Private :: Do Not Upload"
    ],
)

Когда я устанавливаю в свежем virtualenv, приложение Flask запускается, но когда я получаю доступ через браузер, я получаю следующую трассировку:

[2019-05-19 15:03:32,922] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask_login/utils.py", line 261, in decorated_view
    return func(*args, **kwargs)
  File "/home/paul/projects/finstall/finstall/bin/finapp.py", line 55, in index
    return render_template('main.html')
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/templating.py", line 134, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/jinja2/environment.py", line 869, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/jinja2/environment.py", line 830, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/jinja2/environment.py", line 804, in _load_template
    template = self.loader.load(self, name, globals)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/jinja2/loaders.py", line 113, in load
    source, filename, uptodate = self.get_source(environment, name)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/templating.py", line 58, in get_source
    return self._get_source_fast(environment, template)
  File "/home/paul/projects/finstall/finstall/lib/python3.7/site-packages/flask/templating.py", line 86, in _get_source_fast
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: main.html

Обратите внимание, что приложение прекрасно работает в оригинальном virtualenv во времясоздание колеса.

РЕДАКТИРОВАТЬ: список файлов в проекте:

drwxrwxr-x 5 paul paul 4096 May 19 12:23 build/
drwxrwxr-x 2 paul paul 4096 May 18 18:00 dist/
drwxrwxr-x 2 paul paul 4096 May 19 15:44 finapp.egg-info/
-rw-rw-r-- 1 paul paul 4653 May 17 22:15 finapp.py
drwxrwxr-x 2 paul paul 4096 May 19 14:04 __pycache__/
-rw-rw-r-- 1 paul paul  441 May 19 15:44 setup.py
drwxrwxr-x 2 paul paul 4096 May 19 13:40 static/
drwxrwxr-x 2 paul paul 4096 May 11 13:58 templates/
-rw-rw-r-- 1 paul paul  173 May 17 22:14 users.py
drwxrwxr-x 6 paul paul 4096 May  4 14:47 venv/

tree templates static
templates
├── login.html
└── main.html
static
├── app.js
├── axios.js
├── style.css
└── vue.js

...