首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头: pip安装-e。工作,但pip安装-r requirements.txt不工作。

码头: pip安装-e。工作,但pip安装-r requirements.txt不工作。
EN

Stack Overflow用户
提问于 2019-10-29 07:53:52
回答 1查看 556关注 0票数 0

我有一个烧瓶python3.7应用程序,我想运行在对接和库伯内特斯。

我有下面的Docker文件

这个工作(使用巨蟒蛋)

代码语言:javascript
复制
FROM python:3-stretch
WORKDIR /app
ADD . /app/
RUN pip install -e . 
EXPOSE 5000
CMD ["python", "myapp/application.py"]

,但这不是(但我想坚持这个)

代码语言:javascript
复制
FROM python:3-stretch
WORKDIR /app
ADD . /app/
RUN pip -r requirements.txt
EXPOSE 5000
CMD ["python", "myapp/application.py"]

运行此命令(在构建容器之后),docker run -it -p 5000:5000 myapp-python:latest会产生以下错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "myapp/application.py", line 3, in <module>
    import myapp.config as config
ModuleNotFoundError: No module named 'myapp'

但是,正如上面提到的,这对前面的Docker文件非常好。任何帮助都是非常感谢的。

补充说明:

在构建码头容器

时没有错误

这是我的requirements.txt

代码语言:javascript
复制
flask
requests
flask-restful
flask-migrate
flask-sqlalchemy
flask-marshmallow
flask-jwt-extended
marshmallow-sqlalchemy
python-dotenv
passlib
tox
neomodel==3.2.9
marshmallow>=3.0.0b11
apispec
phonenumbers
pillow
emailage>=1.1.2
emailage-official==1.0.2
boto3
geopy
fuzzywuzzy
py2neo>=4.1.0
python-dotenv
eth_utils
neo4j>=1.7.0
neotime>=1.7.1
python-jose
eth-utils
eth-hash[pycryptodome]
python-Levenshtein
jsonpatch
google-cloud-vision
google-cloud-translate
pycountry
sspyjose>=0.2.5
pysinglesource>=0.1.0
flask-cors
pynamodb
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 08:58:44

我找到了解决办法。

separately

  • Then在每个容器中构建了两个容器
  1. ,运行以下命令.

代码语言:javascript
复制
root@64118c352a3e:/app# python
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', '/app', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']

然后在我的第二个配置中发现,我在第二个容器中丢失了'/app'路径。

然后,我使用

ENV PYTHONPATH "${PYTONPATH}:/app"

完整的Dockerfile如下所示。

代码语言:javascript
复制
FROM python:3-stretch
WORKDIR /app
ADD . /app/
RUN pip install -r requirements.txt
ENV PYTHONPATH "${PYTONPATH}:/app"
EXPOSE 5000
CMD ["python", "myapp/application.py"]

现在起作用了。

希望这能帮到别人

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58603253

复制
相关文章

相似问题

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