在基于Alpine Linux的Docker映像中安装pylint

短剑

我试图在基于官方Python映像的Alpine Linux发行版的自定义Docker映像中安装Pylint我尝试使用以下Dockerfile:

FROM python:3.4-alpine
RUN apk add --update pylint

<<这失败了

Step 2/2 : RUN apk add --update pylint
 ---> Running in 34949003816d
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  pylint (missing):
    required by: world[pylint]
The command '/bin/sh -c apk add --update pylint' returned a non-zero code: 1

此外,我尝试了

FROM python:3.4-alpine
RUN pip3 install pylint

<<这失败了

Step 2/2 : RUN pip3 install pylint
 ---> Running in b044e3347d26
Collecting pylint
  Downloading pylint-1.7.1-py2.py3-none-any.whl (641kB)
Collecting mccabe (from pylint)
  Downloading mccabe-0.6.1-py2.py3-none-any.whl
Collecting isort>=4.2.5 (from pylint)
  Downloading isort-4.2.5-py2.py3-none-any.whl (40kB)
Collecting six (from pylint)
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting astroid>=1.5.1 (from pylint)
  Downloading astroid-1.5.2-py2.py3-none-any.whl (269kB)
Collecting wrapt (from astroid>=1.5.1->pylint)
  Downloading wrapt-1.10.10.tar.gz
Collecting lazy-object-proxy (from astroid>=1.5.1->pylint)
  Downloading lazy-object-proxy-1.2.2.tar.gz
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/lazy_object_proxy.egg-info
    writing dependency_links to pip-egg-info/lazy_object_proxy.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/lazy_object_proxy.egg-info/top_level.txt
    writing pip-egg-info/lazy_object_proxy.egg-info/PKG-INFO
    writing manifest file 'pip-egg-info/lazy_object_proxy.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pip-egg-info/lazy_object_proxy.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    error: [Errno 2] No such file or directory: 'examples'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-1wq1n3ss/lazy-object-proxy/
The command '/bin/sh -c pip3 install pylint' returned a non-zero code: 1

最后,我尝试使用以下Dockerfile从源代码构建Pylint:

FROM python:3.4-alpine
RUN apk add --update openssl
RUN wget https://github.com/PyCQA/pylint/archive/master.zip
RUN unzip master.zip
RUN cd pylint-master && python3 setup.py install

<<现在失败了

Step 1/5 : FROM python:3.4-alpine
 ---> 9ac5db25a0ca
Step 2/5 : RUN apk add --update openssl
 ---> Using cache
 ---> d9f61f983819
Step 3/5 : RUN wget https://github.com/PyCQA/pylint/archive/master.zip
 ---> Using cache
 ---> 2a536c150b22
Step 4/5 : RUN unzip master.zip
 ---> Using cache
 ---> e160d601a015
Step 5/5 : RUN cd pylint-master && python3 setup.py install
 ---> Running in d2a20f20ff12

(...)

Searching for lazy_object_proxy
Reading https://pypi.python.org/simple/lazy_object_proxy/
Downloading https://pypi.python.org/packages/65/63/b6061968b0f3c7c52887456dfccbd07bec2303296911757d8c1cc228afe6/lazy-object-proxy-1.2.2.tar.gz#md5=841b5592bc12c6ef7e48ed1d7a5f9066
Best match: lazy-object-proxy 1.2.2
Processing lazy-object-proxy-1.2.2.tar.gz
Writing /tmp/easy_install-mxtkzpjj/lazy-object-proxy-1.2.2/setup.cfg
Running lazy-object-proxy-1.2.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-mxtkzpjj/lazy-object-proxy-1.2.2/egg-dist-tmp-f6oeoyxl
error: Setup script exited with error: [Errno 2] No such file or directory: 'examples'
The command '/bin/sh -c cd pylint-master && python3 setup.py install' returned a non-zero code: 1

任何想法如何安装Pylint?

短剑

似乎setuptools缺少一个最新版本将其添加到Dockerfile之后,pip安装pylint方式就可以了。

FROM python:3.4-alpine
RUN pip3 install -U setuptools
RUN pip3 install -U pylint

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Docker中基于Alpine的映像上安装Redis

如何在基于Alpine的Docker映像中使用bash?

无法在Docker Alpine Linux映像中安装openjdk8-jre

无法为基于 alpine 的 docker 安装 Microsoft ODBC Driver 17

如何在基于Alpine的容器中安装rar?

如何在基于Alpine的Docker容器中配置umask

在docker中为Alpine Linux安装MySQL

Docker:如何在基于Alpine的Docker镜像中使用bash?

无法在基于Alpine的dotnet SDK中运行gRPC协议

如何基于可在 ubuntu 上运行的 alpine 构建类似的 docker 映像?

在基于 Alpine Docker 的映像下运行 gitlab-ci.yml 脚本时出错

Docker / Alpine:如何在Alpine映像上安装NodeJS 4.8.4

在Alpine Docker中安装Docker

Alpine Linux映像中/ etc / network的内容

Docker Alpine中的ImageMagick安装

在Alpine Linux Docker容器中安装ODBC驱动程序

无法在python3.7-alpine docker映像上安装摆锤

带有aws-cli v2和dind的Docker镜像,基于Alpine:3.11

如何在基于Java的Docker映像中安装软件包管理器

在php:7.2-fpm-alpine自定义docker映像中安装xmlreader所需的库是什么?

带有Alpine Docker映像中的Firefox-ESR的硒

在Docker Alpine映像中设置NSCA以进行被动nagios检查

如何在Nginx Alpine Docker映像中启用本机模块

在Docker Alpine中安装熊猫

如何在Alpine Linux中安装Go

如何在Alpine Linux中安装npm

在特定分区中安装Alpine Linux

尝试构建运行协议缓冲区的基于Alpine的Docker容器时出现“ / bin / ash:协议:未找到”

无法在针对基于 GNU 的 linux 发行版(例如 Debian)的 Alpine 上构建交叉编译器?