使用
pyinstaller -F setup.py
生成的一个exe文件或者使用
pyinstaller -D setup.py
生成的exe文件包启动都会出现如下问题
文件名字为setup.py
from fastapi import FastAPI # 导入FastAPI
import uvicorn
import multiprocessing
app = FastAPI() # 创建一个app实例
@app.get("/") # 编写一个路径操作装饰器
async def root(): # 编写一个路径操作函数
return {"你好!": "朋友。"}
if __name__ == '__main__':
multiprocessing.freeze_support()
uvicorn.run(app='setup:app', host="127.0.0.1", port=8000, reload=True, debug=True)
[32mINFO[0m: Will watch for changes in these directories: ['C:\\Users\\Administrator\\Desktop\\test\\dist']
[32mINFO[0m: Uvicorn running on [1mhttp://127.0.0.1:8000[0m (Press CTRL+C to quit)
[32mINFO[0m: Started reloader process [[36m[1m3312[0m] using [36m[1mwatchgod[0m
[33mWARNING[0m: The --reload flag should not be used in production on Windows.
[31mERROR[0m: Error loading ASGI app. Could not import module "setup".
每次都需要在生成的dist里面加入setup.py文件才能启动
请求大神帮忙解决一下,不添加setup.py。
能正常运行的方法。
我将它打包后放在D盘,进入cmd,输入:uvicorn setup:app --reload,好像可以运行
题主解决了吗?我也遇到了这个问题,不知道咋解决,把启动文件放到和.exe一样的目录下也没用,把if name == 'main':注释掉也没用