在基于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从源代码构buildPylint:
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后,安装pylint
的pip
方式工作得很好。
FROM python:3.4-alpine RUN pip3 install -U setuptools RUN pip3 install -U pylint
- 如何让/ etc / profile在Alpine / Docker中自动运行
- 如何解决在Alpine Linux中“伪terminal不会被分配,因为stdin不是terminal”?
- 无法从高山linux容器内运行jfrog可执行文件
- 使用mysql-client从Alpine Docker映像内部通过SSL连接到Amazon RDS。 并validation证书
- 在Alpine(node:8-latest)Docker镜像上安装“locales”
- 在Docker Alpine Linux容器上运行Scala SBT时的证书exception
- Docker Alpine中的ImageMagick安装
- “docker-php-ext-install bz2”失败(在php:7.0-fpm-alpine,高山3.4)
- Alpine Linux的“–upgrade add”命令的解释