首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将烧瓶项目转换为可执行的.exe

如何将烧瓶项目转换为可执行的.exe
EN

Stack Overflow用户
提问于 2022-01-09 16:47:16
回答 1查看 3K关注 0票数 0

我需要把我的烧瓶项目转换成.exe

这是一个小项目,打算在本地浏览器(脱机)上运行。

当我运行exe脚本时,它会告诉我没有导入烧瓶。这不是真的,因为它工作时直接从main.py发射。似乎pyinstaller跳过了一些lib。我能做什么?

main.py

代码语言:javascript
运行
复制
from app import create_app

if __name__ == "__main__":
    app = create_app()
    app.run()

app/init.py

代码语言:javascript
运行
复制
from flask import  Flask
SECRET_KEY = ""
UPLOAD_FOLDER = ""
MAX_SIZE = 500000

def create_app():
    app = Flask(__name__)
    app.config["SECRET_KEY"] = SECRET_KEY
    app.config["UPLOAD_FOLDER"] = UPLOAD_FOLDER
    app.config['MAX_CONTENT_PATH'] = MAX_SIZE

    from .views import views

    app.register_blueprint(views, url_prefix="/")

    return app

命令打包pyinstaller -F main.py

main.exe错误

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "main.py", line 1, in <module>
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "app\__init__.py", line 1, in <module>
ModuleNotFoundError: No module named 'flask'
[32112] Failed to execute script 'main' due to unhandled exception!
EN

Stack Overflow用户

发布于 2022-07-15 06:51:04

运行pip显示pip,您将需要-p来指向pip libs示例。

代码语言:javascript
运行
复制
PS D:\GitHub\ShittyChatApp> pip show pip
Name: pip
Version: 22.1.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: distutils-sig@python.org
License: MIT
Location: c:\users\jack\appdata\local\programs\python\python310\lib\site-packages
Requires:
Required-by: pipenv

代码语言:javascript
运行
复制
    pyinstaller -p c:\users\jack\appdata\local\programs\python\python310\lib\site-packages \
    -p myapp \
    --add-data="myapp/templates;templates" \
    --add-data="myapp/static;static" \
    --hidden-import=dns.versioned \
    --hidden-import=dns.tsigkeyring \
    --hidden-import=dns.namedict \
    --hidden-import=dns.e164 \
    --hidden-import=dns \
    --hidden-import=dns.asyncresolver \
    --hidden-import=dns.asyncquery \
    --hidden-import=dns.asyncbackend \
    --hidden-import=eventlet.hubs.epolls \
    --hidden-import=eventlet.hubs.kqueue \
    --hidden-import=eventlet.hubs.selects -F main.py --onefile

这就是我的make文件的样子,我正在将它用于windows和linux。

代码语言:javascript
运行
复制
PIP_LIBS=c:\users\jack\appdata\local\programs\python\python310\lib\site-packages

all: install_deps clean build

install_deps:
    pip install -r requirements.txt
build:
    pyinstaller -p c:\users\jack\appdata\local\programs\python\python310\lib\site-packages \
    -p myapp \
    --add-data="myapp/templates;templates" \
    --add-data="myapp/static;static" \
    --hidden-import=dns.versioned \
    --hidden-import=dns.tsigkeyring \
    --hidden-import=dns.namedict \
    --hidden-import=dns.e164 \
    --hidden-import=dns \
    --hidden-import=dns.asyncresolver \
    --hidden-import=dns.asyncquery \
    --hidden-import=dns.asyncbackend \
    --hidden-import=eventlet.hubs.epolls \
    --hidden-import=eventlet.hubs.kqueue \
    --hidden-import=eventlet.hubs.selects -F main.py --onefile
    rm -rf build
run_server:
    ./dist/main
clean:
    rm -rf build
    rm -rf dist
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70643470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档