docker-compose up ModuleNotFoundError: No module named 'sqlalchemy'
docker-compose up ModuleNotFoundError: No module named 'sqlalchemy'
我是 docker 的初学者,我正在尝试 运行 烧瓶 python 应用程序,当 运行 宁 docker-compose up
时我遇到以下问题, 抛出错误:
ModuleNotFoundError: 没有名为 'sqlalchemy'
的模块
这是错误图片:
docker-compose up error
这是我当前目录下的文件
my local directory
这是我的docker文件
的内容
FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
这是我的docker-compose.yml
的内容
version: '3'
services:
helloworld:
build: ./
ports:
- "5000:5000"
volumes:
- ./:/app
这是我的requirements.txt
click==8.1.2
Flask==2.1.1
Flask-SQLAlchemy==2.5.1
greenlet==1.1.2
importlib-metadata==4.11.3
itsdangerous==2.1.2
Jinja2==3.1.1
MarkupSafe==2.1.1
mysqlclient==2.1.0
SQLAlchemy==1.4.35
Werkzeug==2.1.1
zipp==3.8.0
这是我的app.py
from distutils.log import debug
from flask import Flask
from sqlalchemy.engine import create_engine
from sqlalchemy.orm import sessionmaker
from models import Base
import os
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Flask sss"
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
我尝试用 docker-compose down
将其拆下,当 运行ning docker-compose up
再次出现同样的错误。
有人可以指出我如何成功 运行 flask app 的正确方向吗?
尝试以下方法:
FROM python:3.8
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./app.py" ]
还有你的docker-compose:
version: '3'
services:
helloworld:
build: ./
ports:
- "5000:5000"
volumes:
- ./:/usr/src/app
要构建你的容器,你可以直接运行这个内联器:
docker-compose down; docker-compose up --build --remove-orphans
如果上述方法没有帮助,我会直接从内部检查容器。您可以通过以下方式访问它:
docker-compose exec helloworld sh
从那里导航到包含文件的目录,并确保一切都在它应该在的地方;如果文件混乱或丢失,请确保您的 Dockerfile
和 docker-compose.yml
(在您的本地电脑上)位于项目的根目录中。
这应该有帮助,但如果没有帮助,请在评论中联系我们!
我是 docker 的初学者,我正在尝试 运行 烧瓶 python 应用程序,当 运行 宁 docker-compose up
时我遇到以下问题, 抛出错误:
ModuleNotFoundError: 没有名为 'sqlalchemy'
的模块这是错误图片: docker-compose up error
这是我当前目录下的文件 my local directory
这是我的docker文件
的内容FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
这是我的docker-compose.yml
的内容version: '3'
services:
helloworld:
build: ./
ports:
- "5000:5000"
volumes:
- ./:/app
这是我的requirements.txt
click==8.1.2
Flask==2.1.1
Flask-SQLAlchemy==2.5.1
greenlet==1.1.2
importlib-metadata==4.11.3
itsdangerous==2.1.2
Jinja2==3.1.1
MarkupSafe==2.1.1
mysqlclient==2.1.0
SQLAlchemy==1.4.35
Werkzeug==2.1.1
zipp==3.8.0
这是我的app.py
from distutils.log import debug
from flask import Flask
from sqlalchemy.engine import create_engine
from sqlalchemy.orm import sessionmaker
from models import Base
import os
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Flask sss"
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
我尝试用 docker-compose down
将其拆下,当 运行ning docker-compose up
再次出现同样的错误。
有人可以指出我如何成功 运行 flask app 的正确方向吗?
尝试以下方法:
FROM python:3.8
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./app.py" ]
还有你的docker-compose:
version: '3'
services:
helloworld:
build: ./
ports:
- "5000:5000"
volumes:
- ./:/usr/src/app
要构建你的容器,你可以直接运行这个内联器:
docker-compose down; docker-compose up --build --remove-orphans
如果上述方法没有帮助,我会直接从内部检查容器。您可以通过以下方式访问它:
docker-compose exec helloworld sh
从那里导航到包含文件的目录,并确保一切都在它应该在的地方;如果文件混乱或丢失,请确保您的 Dockerfile
和 docker-compose.yml
(在您的本地电脑上)位于项目的根目录中。
这应该有帮助,但如果没有帮助,请在评论中联系我们!