在 jython jar 中导入烧瓶模块

Importing flask module in jython jar

这是我第一次尝试使用 jython,所以开始吧!

我有一个 Python 应用程序,它使用 Flask 作为我的网络框架,我想将它打包成一个 jar。

我已按照 jar method tutorial here 进行操作,并且已将我的应用程序组件全部设置在 jar 中。但是,当我尝试使用此命令在 jar 中执行我的脚本时:

java -jar folder/myapp.jar myapp.py runserver

我遇到了典型的 Python 导入错误:

File "folder/myapp.py", line 24, in <module>
from flask import Flask, render_template, flash, redirect, request, session
ImportError: No module named flask

我假设我需要以某种方式将我的模块与我的其余代码一起打包到 jar 中,但我不知道如何做。和建议将不胜感激!

最简单的解决方案是将 flask 模块添加到 myapp.jar 的根目录。您可以使用 JDK 附带的 jar 实用程序来执行此操作,或者使用 Ant 中的 <jar> 任务。我确信 Maven 有办法做同样的事情,但我不知道 Maven。

假设 flask 是您的 flask 模块的路径,这样的东西应该 flask 进入您的 *.jar 文件的根目录:

$ jar uf folder/myapp.jar flask

我目前正在使用 Ant,如果您所做的只是添加 flask:

,那看起来会像这样
<target name="add-flask-module">
    <jar basedir="flask" destfile="folder/myapp.jar" update="true"/>
</target>