- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的 python 应用程序构建一个 docker 容器,但是在通过 pipenv 安装 python 包时遇到了问题。
如果我将基本图像设置为 python:3.8.5
但是,如果我设置了 -slim
,它会起作用版本或 -alpine
版本失败并出现以下错误:
Traceback (most recent call last): File "/usr/local/bin/pipenv",
line 8, in <module>
sys.exit(cli()) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 829, in __call__
return self.main(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 782, in main
rv = self.invoke(ctx) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 610, in invoke
return callback(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py",
line 73, in new_func
return ctx.invoke(f, obj, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
line 610, in invoke
return callback(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py",
line 21, in new_func
return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/pipenv/cli/command.py", line
232, in install
retcode = do_install( File "/usr/local/lib/python3.8/site-packages/pipenv/core.py", line 2052, in
do_install
do_init( File "/usr/local/lib/python3.8/site-packages/pipenv/core.py", line 1305, in
do_init
do_install_dependencies( File "/usr/local/lib/python3.8/site-packages/pipenv/core.py", line 899, in
do_install_dependencies
batch_install( File "/usr/local/lib/python3.8/site-packages/pipenv/core.py", line 796, in
batch_install
_cleanup_procs(procs, failed_deps_queue, retry=retry) File "/usr/local/lib/python3.8/site-packages/pipenv/core.py", line 703, in
_cleanup_procs
raise exceptions.InstallError(c.dep.name, extra=err_lines) pipenv.exceptions.InstallError: ERROR: Couldn't install package:
brotlipy Package installation failed...
Dockerfile
FROM python:3.8.5-slim
RUN pip install pipenv
WORKDIR /app
COPY ./ /app/
RUN pipenv install --sequential --deploy --verbose
RUN python -m spacy download en_core_web_sm
RUN pip install gunicorn[gevent]
EXPOSE 8080
CMD gunicorn -c src/gunicorn.conf.py --chdir src wsgi:app
pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
autopep8 = "*"
[packages]
pytest = "*"
aiomysql = "*"
pytest-asyncio = "*"
spacy = "*"
nltk = "*"
jsonschema = "*"
cachetools = "*"
pycountry = "*"
boto3 = "*"
aiohttp = {extras = ["speedups"], version = "*"}
install = "*"
cchardet = "*"
aiohttp-cors = "*"
pytest-aiohttp = "*"
aiohttp-devtools = "*"
json-logging = "*"
[requires]
python_version = "3.8"
更新:
RUN apk add gcc g++ libffi-dev musl-dev \
Exception information:
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 216, in _main
status = self.run(options, args)
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
return func(self, options, args)
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 324, in run
requirement_set = resolver.resolve(
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve
discovered_reqs.extend(self._resolve_one(requirement_set, req))
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 340, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(req)
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 482, in prepare_linked_requirement
abstract_dist = _get_prepared_distribution(
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 91, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py", line 33, in prepare_distribution_metadata
self.req.load_pyproject_toml()
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 503, in load_pyproject_toml
pyproject_toml_data = load_pyproject_toml(
File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.8/site-packages/pip/_internal/pyproject.py", line 95, in load_pyproject_toml
raise InstallationError(
pip._internal.exceptions.InstallationError: Disabling PEP 517 processing is invalid: project specifies a build backend of setuptools.build_meta in pyproject.toml
Removed cryptography==3.0 from https://files.pythonhosted.org/packages/bf/ac/552fc8729d90393845cc3a2062facf4a89dcbe206fa78771d60ddaae7554/cryptography-3.0.tar.gz#sha256=8e924dbc025206e97756e8903039662aa58aa9ba357d8e1d8fc29e3092322053 (from -r /tmp/pipenv-9avbndah-requirements/pipenv-ituvdg4a-requirement.txt (line 1)) from build tracker '/tmp/pip-req-tracker-roedt7he'
Removed build tracker: '/tmp/pip-req-tracker-roedt7he'
Removing intermediate container de278d8d660a
---> bb539a91d593
Step 7/10 : RUN python -m spacy download en_core_web_sm
---> Running in d568290d25da
/usr/local/bin/python: No module named spacy
最佳答案
可以将问题最小化为 Dockerfile
FROM python:3.8.5-slim
RUN pip install --no-cache-dir brotlipy
如果你运行这个,你会得到错误
...
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
...
-slim
和
-alpine
图像不包括 C 编译器,而
python:3.8.5
图像。如果您安装 C 编译器,您可能会遇到其他错误,例如缺少
limit.s
,
ffi.h
,以及 C++ 标准库。
-alpine
的最小工作示例图片。
FROM python:3.8.5-alpine
RUN apk add gcc g++ libffi-dev musl-dev \
&& python -m pip install --no-cache-dir brotlipy \
&& apk del gcc g++ libffi-dev musl-dev
这是
-slim
的完整示例图片。使用
pipenv run python
运行 spacy 部分。
FROM python:3.8.5-slim
ARG DEBIAN_FRONTEND="noninteractive"
RUN pip install pipenv
WORKDIR /app
COPY ./ /app/
RUN apt-get update \
&& apt-get install --yes --no-install-recommends \
gcc g++ libffi-dev \
&& pipenv install --sequential --deploy --verbose \
&& apt-get autoremove --yes gcc g++ libffi-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pipenv run python -m spacy download en_core_web_sm
RUN pipenv install gunicorn[gevent]
EXPOSE 8080
CMD gunicorn -c src/gunicorn.conf.py --chdir src wsgi:app
关于python slim 或 alpine docker 镜像无法使用 pipenv 安装软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63525628/
.net 4.0 添加了几个与线程相关的新类:ManualResetEventSlim , SemaphoreSlim和 ReaderWriterLockSlim . Slim 版本和旧类之间有什么区
一个新的 Slim 问题 我期待以下 Slim 模板 div class="header" h2 slim head p a test example of span Slim span a
我们正在考虑使用 Slim 3 作为我们 API 的框架。我已经搜索过 SO 和 Slim 文档,但找不到问题的答案。如果我们有不同的路由文件(例如 v1、v2 等)并且如果两个路由具有相同的签名,则
我正在尝试在 Slim-lang 的列表项中嵌套第二个 ul,如下所示: div.row ul.dropdown li Dropdown Option 1
我有以下代码导致 Slim::Parser::SyntaxError : p code.inline /charge 我希望这会输出 /charge但这只会让斯林姆不高兴。 为什么? 最佳答案 使
我想在子目录中使用 Slim 3,但似乎无法加载它。所有文件都包含在子目录中,包括 composer.json。这是我的 composer.json: "require": { "slim/s
我的 Slim 项目组织如下: - app -- Acme --- Auth ---- Auth.php (handles authentication) -- config --- developm
我在我的 svelte-typescript 项目上使用 clickOutside 指令,当我将自定义事件分配给相关元素时出现此错误 Type '{ class: string; onclick_ou
我们缩小了在 Silex 和 Slim PHP 框架之间的搜索范围,以便在我们的 Apache/PHP/MySQL 服务器上路由我们的 REST API。 两者似乎都有很好的评价。 Silex 可能有
我有一个 get表格中的路线 $app->get('/redirect[/{subject}]', function ($request, $response, $args) { }); 如果我向 /
任何人都可以解释在选择使用钩子(Hook)而不是使用中间件来实现身份验证或缓存等功能时是否有任何显着的优点或缺点? 例如 - 我可以通过自定义中间件获取请求对象并设置应用程序语言变量来实现翻译功能,该
在 Slim 3 中是否有类似 Laravel 的 back() helper 来获取之前的路由名称或 uri? 它不必特定于 Slim,我只是想重定向回上一页。 谢谢:) 最佳答案 假设你想要 re
在 Slim 3 中是否有类似 Laravel 的 back() helper 来获取之前的路由名称或 uri? 它不必特定于 Slim,我只是想重定向回上一页。 谢谢:) 最佳答案 假设你想要 re
我正在学习这里的教程: https://www.simplifiedcoding.net/php-restful-api-framework-slim-tutorial-1/ 导师说下载slim在:
如何从不同的 php 页面中的另一个函数调用 slim 函数 这里是 My.php: $app->get('/list/:id',function($id) { //fill array her
很抱歉提出这样一个愚蠢的问题,但在文档中找不到它: filename.slim filename.html.slim 这似乎是一种非常适合使用的语言。我以前使用过 HAML,所以我认为这将是一个相当不
请原谅我的无知,但我只是使用 npm 安装了 jQuery,并且在 jQuery 文件之间有一个名为 jquery.slim.js 的文件,slim 是什么?我知道 min 代表缩小但 slim 对我
TailwindCSS 看起来像是一个很棒的前端工具,但我想知道如何将它与 Rails Slim 模板语言一起使用? 例如: 如果我通过 HTML2SLIM 运行它,我会得到这个建议: .bg-re
TailwindCSS 看起来像是一个很棒的前端工具,但我想知道如何将它与 Rails Slim 模板语言一起使用? 例如: 如果我通过 HTML2SLIM 运行它,我会得到这个建议: .bg-re
我想将纤薄的 textmate 包安装到 sublime2。 我去了这个链接 slim textmate bundle 我将它克隆到 pristinepackage(根据 nettuts 网站),但什
我是一名优秀的程序员,十分优秀!