关于pyinstaller打包出来的软件问题

pyinstaller打包出来的软件问题

使用

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,好像可以运行

img

试试这个方法,之前我打包出来的exe文件可以单独运行
https://blog.csdn.net/m0_61791601/article/details/124169561?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166213504516782246469462%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166213504516782246469462&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124169561-null-null.nonecase&utm_term=%E6%89%93%E5%8C%85&spm=1018.2226.3001.4450

题主解决了吗?我也遇到了这个问题,不知道咋解决,把启动文件放到和.exe一样的目录下也没用,把if name == 'main':注释掉也没用