Python 为什么uWSGI无法导入实际安装的软件包?

Python 为什么uWSGI无法导入实际安装的软件包?,python,uwsgi,Python,Uwsgi,我在Docker中有一个烧瓶应用程序。我试着像这样运行它: uwsgi --socket 0.0.0.0:80 --plugins python3 --protocol http --module app.app:app -p 2 --enable-threads uWSGI启动,初始化Python(我已经检查了是否是错误的解释器问题,但它正在初始化正确的解释器),然后执行如下操作: *** Operational MODE: preforking *** Traceback (most re

我在Docker中有一个烧瓶应用程序。我试着像这样运行它:

uwsgi --socket 0.0.0.0:80 --plugins python3 --protocol http --module app.app:app -p 2 --enable-threads
uWSGI启动,初始化Python(我已经检查了是否是错误的解释器问题,但它正在初始化正确的解释器),然后执行如下操作:

*** Operational MODE: preforking ***
Traceback (most recent call last):
  File "./app/app.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
***操作模式:预工作***
回溯(最近一次呼叫最后一次):
文件“/app/app.py”,第1行,在
从烧瓶进口烧瓶
ModuleNotFoundError:没有名为“flask”的模块
无法加载应用0(装入点=“”)(找不到可调用或导入错误)
***没有加载应用程序。以全动态模式运行***
这里的关键是它肯定已经安装好了。若我猛击容器并使pip冻结,它就会出现。如果我运行pythonshell,我可以毫无问题地导入它。如果我尝试再次手动启动uwsgi(杀死前一个以释放端口),我会遇到同样的问题。如果我只运行python app/app.py,就不会有这样的问题

由于我的主程序包(应用程序)的名称与创建的Flask应用程序的名称相同,所以我重命名了Flasks的应用程序(如前所述),但看起来这不是问题所在。还有什么会导致这个问题?这就是我的项目的结构,如果有帮助的话:

├── Dockerfile
├── LICENSE
├── README.md
├── app
│   ├── __init__.py
│   ├── submodule1
│   │   ├── __init__.py
│   │   └── somefile1.py
│   ├── app.py
│   ├── config.py
│   ├── submodule2
│   │   ├── __init__.py
│   │   ├── somefile2.py
│   ├── submodule3
│   │   ├── __init__.py
│   │   └── somefile3.py
├── docker-compose.yml
├── requirements.txt
└── startup.sh <-- this is where uwsgi is started
├── Dockerfile
├── 许可证
├── 自述文件
├── 应用程序
│   ├── __初始值
│   ├── 子模块1
│   │   ├── __初始值
│   │   └── somefile1.py
│   ├── app.py
│   ├── config.py
│   ├── 子模块2
│   │   ├── __初始值
│   │   ├── somefile2.py
│   ├── 子模块3
│   │   ├── __初始值
│   │   └── somefile3.py
├── docker-compose.yml
├── requirements.txt
└── startup.sh