- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在遵循这个 SageMaker 指南并使用 1.12 cpu docker 文件。
https://github.com/aws/sagemaker-tensorflow-serving-container
如果我使用 requirements.txt 文件安装 Pillow,我的容器在本地运行良好,但是当我部署到 SageMaker 时,“pip3 安装”失败并出现错误,表明我的容器无法访问互联网。
为了解决这个问题,我尝试在部署到 SageMaker 之前在我的容器中安装 Pillow。
当我在 docker 文件中包含“RUN pip3 install Pillow”和“RUN pip3 show Pillow”行时,在构建时,我看到输出显示“Successfully installed Pillow-6.2.0”,并且 show 命令指示 lib 安装在/usr/local/lib/python3.5/dist-packages。同样在 docker 文件中运行“RUN ls/usr/local/lib/python3.5/dist-packages”会在 dist-packages 中显示“PIL”和“Pillow-6.2.0.dist-info”,并且 PIL 目录包括许多代码文件。
但是,当我在本地运行容器时,尝试使用“from PIL import Image”在 python 中导入会导致错误“No module named PIL”。我已经尝试过像“import Image”这样的变体,但是当我启动容器时,PIL 似乎没有安装在代码运行的上下文中。
在“from PIL import Image”行之前,我添加了“import subprocess”和“print(subprocess.check_output("ls/usr/local/lib/python3.5/dist-packages".split()))”
这个 ls 输出与我在 docker 文件中运行它时得到的结果相匹配,除了缺少“PIL”和“Pillow-6.2.0.dist-info”。为什么当我运行 docker 文件时这两个在/usr/local/lib/python3.5/dist-packages 中,但在本地启动容器时却没有?
有没有更好的方法将 Pillow 包含在我的容器中?引用的 Github 页面还显示我可以通过包含文件(在模型包的代码/lib 中)来部署库,但要获得与 Ubuntu 16.04 兼容的文件(docker 容器使用;我在 Mac 上),我'在我的 docker 文件中运行“RUN pip3 install Pillow”之后,d 可能会从 docker 容器中复制它们,而且我需要从 docker 容器中获取文件以部署到 docker 容器似乎很奇怪。
我的 docker 文件看起来像:
ARG TFS_VERSION
FROM tensorflow/serving:${TFS_VERSION} as tfs
FROM ubuntu:16.04
LABEL com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true
COPY --from=tfs /usr/bin/tensorflow_model_server /usr/bin/tensorflow_model_server
# nginx + njs
RUN \
apt-get update && \
apt-get -y install --no-install-recommends curl && \
curl -s http://nginx.org/keys/nginx_signing.key | apt-key add - && \
echo 'deb http://nginx.org/packages/ubuntu/ xenial nginx' >> /etc/apt/sources.list && \
apt-get update && \
apt-get -y install --no-install-recommends nginx nginx-module-njs python3 python3-pip python3-setuptools && \
apt-get clean
RUN pip3 install Pillow
# cython, falcon, gunicorn, tensorflow-serving
RUN \
pip3 install --no-cache-dir cython falcon gunicorn gevent requests grpcio protobuf tensorflow && \
pip3 install --no-dependencies --no-cache-dir tensorflow-serving-api
COPY ./ /
ARG TFS_SHORT_VERSION
ENV SAGEMAKER_TFS_VERSION "${TFS_SHORT_VERSION}"
ENV PATH "$PATH:/sagemaker"
RUN pip3 show Pillow
RUN ls /usr/local/lib/python3.5/dist-packages
最佳答案
为迟到的回应道歉。
If I use the requirements.txt file to install Pillow, my container works great locally, but when I deploy to SageMaker, 'pip3 install' fails with an error indicating my container doesn't have internet access.
However, when I run my container locally, trying to import in python using "from PIL import Image" results in error "No module named PIL". I've tried variations like "import Image", but PIL doesn't seem to be installed in the context in which the code is running when I start the container.
docker run -it --entrypoint bash <DOCKER_IMAGE>
root@13eab4c6e8ab:/# python3 -s
Python 3.5.2 (default, Oct 8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from PIL import Image
关于docker - docker 容器中 "No module named PIL"之后的 "RUN pip3 install Pillow"; dist-packages 目录中既不存在 PIL 也不存在 Pillow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260409/
我正在尝试使用 JAXB 从 XSD 生成 java 类。 XSD 是我公司的官方 xsd,因此我无法仅为我的项目修改它们。在该网站上进行了数百次尝试和搜索后,我决定直接提出问题。 我的 XSD 中有
我已经了解了以下链接中的详细信息,但仍然存在何时使用哪个文件的问题?https://docs.npmjs.com/files/package-lock.json 最佳答案 包.json 包含项目的相关
当我在 centos 上运行命令 rpmbuild -bb mypackage.spec 时,出现错误 error: Package already exists: %package debuginf
my.packages 是 src 目录中的自定义原型(prototype)包。 Plone 实例中的数千个项目与其类型一起添加。我想将包重命名为 my.package。通过简单地卸载 my.pack
根据 javadoc 规范,我在相关包的根目录中放置了一个名为 package-info.html 的文档文件。但是,当我在该文件夹上运行 Doxygen 时,不会拾取该文件中的文档。我如何告诉 Do
我已经定义了如下的包: (defpackage :thehilariouspackageofamirteymuri (:nicknames ampack amir teymuri) (:use
我正在思考这个问题: > .packages() > (.packages()) [1] "stats" "graphics" "grDevices" "utils" "datase
我在内存中有一个 System.IO.Packaging.Package(它是一个 WordprocessingDocument)并且想将它流式传输到浏览器以保存它。 Word 文档已被基于 MVC
即使这是我不常发现的东西,在成员之前注释/* package*/的原因是什么? /* package */ final void attach(Context context) { atta
我正在开发我的应用程序,但在添加包以便导入它时,我总是收到此错误。 error: type 'Package.Dependency' has no member 'Package' 这是我的 Pack
install.packages("data.table") trying URL 'https://cran.rstudio.com/bin/macosx/el-capitan/contrib/3.
放置手动创建的插件的最佳位置是什么: a) C:\Users\{UserName}\AppData\Roaming\Sublime Text 3\Packages 或 b) C:\Users\{Use
这是一个有趣的 Perl 行为。 (至少对我来说 :) ) 我有两个包 PACKAGE1 和 PACKAGE2,它们导出具有相同名称的函数 Method1()。 由于将有如此多的包将导出相同的功能,使
package-archives (("marmalade" . "http://marmalade-repo.org/packages/") ("gnu" . "http://elpa.gnu.or
任何人都可以让我知道 package-lock.json 文件的确切用途吗? 尽管许多人提到它用于查看版本化依赖树。 寻找简单易行的解释。 提前致谢。 最佳答案 npm install使用此文件来确保
Python documentation说 Consider this code: import sound.effects.echo import sound.effects.surround fr
我在 ubuntu 上运行 VPS: Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 C
我有这样一个结构 $ tree -h . ├── [1.0K] myproj │ ├── [ 0] index.py │ ├── [ 0] __init__.py │ └──
我正在尝试解压 System.IO.Packaging.Package我从网络服务器收到的。也就是说,我正在使用 System.IO.Packaging.Package.Open(Stream)方法并
关于 package.json 文件中的@types 依赖项,我有一个愚蠢的问题: 在下面的 URL 中解释了应该安装的类型作为运行时依赖 npm install --save @types/loda
我是一名优秀的程序员,十分优秀!