➜ byvshie ./build
+++ dirname ./build
++ cd .
++ pwd
+ DIR=/Users/lorddaedra/Projects/byvshie
+ docker build -t entropia/byvshie:latest -f /Users/lorddaedra/Projects/byvshie/Dockerfile /Users/lorddaedra/Projects/byvshie
Sending build context to Docker daemon 22.76 MB
Step 1 : FROM python:3.5-alpine
---> e57c79136a08
Step 2 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> 22523b31cff4
Step 3 : ENV DJANGO_SETTINGS_MODULE byvshie.settings
---> Running in de1961075197
---> 145ec94af4da
Removing intermediate container de1961075197
Step 4 : ENV LIBRARY_PATH /lib:/usr/lib
---> Running in 4d3affe0e89e
---> a380f6806984
Removing intermediate container 4d3affe0e89e
Step 5 : WORKDIR /
---> Running in 1f46cac384aa
---> b81cbeaf84dd
Removing intermediate container 1f46cac384aa
Step 6 : RUN set -ex && mkdir -p /usr/src/app
---> Running in e1e0a13099db
+ mkdir -p /usr/src/app
---> cd86298883ed
Removing intermediate container e1e0a13099db
Step 7 : COPY requirements.txt /usr/src/app
---> b21ad0d5135f
Removing intermediate container 43070bfb3213
Step 8 : COPY config/Lib/ctypes/util.py /usr/local/lib/python3.5/ctypes
---> 3ff35452a40d
Removing intermediate container 16ff555230a4
Step 9 : RUN set -ex && addgroup -g 82 -S www-data && adduser -u 82 -D -S -G www-data www-data && apk update && apk upgrade && build_pkgs="build-base linux-headers openssl-dev pcre-dev wget postgresql-dev libxml2-dev libxslt-dev libffi-dev jpeg-dev freetype-dev tiff-dev libwebp-dev zlib-dev git mercurial" && runtime_pkgs="ca-certificates postgresql openssl libxml2 libxslt libffi jpeg freetype tiff libwebp libmagic gettext pcre zlib bash bc" && apk --update add --no-cache ${build_pkgs} ${runtime_pkgs} && pip install --no-cache-dir -U setuptools pip && pip install --no-cache-dir -r /usr/src/app/requirements.txt && apk del ${build_pkgs} && rm -rf /var/cache/apk/*
---> Running in 2b07b2bf8b7c
+ addgroup -g 82 -S www-data
+ adduser -u 82 -D -S -G www-data www-data
+ apk update
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
v3.4.5 [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.4-21-g75fc217 [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5974 distinct packages available
+ apk upgrade
(1/2) Upgrading musl (1.1.14-r12 -> 1.1.14-r13)
(2/2) Upgrading musl-utils (1.1.14-r12 -> 1.1.14-r13)
Executing busybox-1.24.2-r11.trigger
OK: 31 MiB in 32 packages
+ build_pkgs=build-base linux-headers openssl-dev pcre-dev wget postgresql-dev libxml2-dev libxslt-dev libffi-dev jpeg-dev freetype-dev tiff-dev libwebp-dev zlib-dev git mercurial
+ runtime_pkgs=ca-certificates postgresql openssl libxml2 libxslt libffi jpeg freetype tiff libwebp libmagic gettext pcre zlib bash bc
+ apk --update add --no-cache build-base linux-headers openssl-dev pcre-dev wget postgresql-dev libxml2-dev libxslt-dev libffi-dev jpeg-dev freetype-dev tiff-dev libwebp-dev zlib-dev git mercurial ca-certificates postgresql openssl libxml2 libxslt libffi jpeg freetype tiff libwebp libmagic gettext pcre zlib bash bc
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
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
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/69) Installing bash (4.3.42-r3)
Executing bash-4.3.42-r3.post-install
(2/69) Installing bc (1.06.95-r2)
(3/69) Installing binutils-libs (2.26-r0)
(4/69) Installing binutils (2.26-r0)
(5/69) Installing gmp (6.1.0-r0)
(6/69) Installing isl (0.14.1-r0)
(7/69) Installing libgomp (5.3.0-r0)
(8/69) Installing libatomic (5.3.0-r0)
(9/69) Installing libgcc (5.3.0-r0)
(10/69) Installing pkgconf (0.9.12-r0)
(11/69) Installing pkgconfig (0.25-r1)
(12/69) Installing mpfr3 (3.1.2-r0)
(13/69) Installing mpc1 (1.0.3-r0)
(14/69) Installing libstdc++ (5.3.0-r0)
(15/69) Installing gcc (5.3.0-r0)
(16/69) Installing make (4.1-r1)
(17/69) Installing musl-dev (1.1.14-r13)
(18/69) Installing libc-dev (0.7-r0)
(19/69) Installing fortify-headers (0.8-r0)
(20/69) Installing g++ (5.3.0-r0)
(21/69) Installing build-base (0.4-r1)
(22/69) Installing zlib-dev (1.2.8-r2)
(23/69) Installing libpng-dev (1.6.21-r0)
(24/69) Installing freetype-dev (2.6.3-r0)
(25/69) Installing libintl (0.19.7-r3)
(26/69) Installing libunistring (0.9.6-r0)
(27/69) Installing libxml2 (2.9.4-r0)
(28/69) Installing gettext (0.19.7-r3)
(29/69) Installing libssh2 (1.7.0-r0)
(30/69) Installing libcurl (7.50.3-r0)
(31/69) Installing pcre (8.38-r1)
(32/69) Installing git (2.8.3-r0)
(33/69) Installing libjpeg-turbo (1.4.2-r0)
(34/69) Installing libjpeg-turbo-utils (1.4.2-r0)
(35/69) Installing jpeg (8-r6)
(36/69) Installing libjpeg-turbo-dev (1.4.2-r0)
(37/69) Installing jpeg-dev (8-r6)
(38/69) Installing libffi (3.2.1-r2)
(39/69) Installing libffi-dev (3.2.1-r2)
(40/69) Installing libmagic (5.27-r0)
(41/69) Installing libwebp (0.5.0-r0)
(42/69) Installing libwebp-dev (0.5.0-r0)
(43/69) Installing libxml2-dev (2.9.4-r0)
(44/69) Installing libgpg-error (1.23-r0)
(45/69) Installing libgcrypt (1.7.0-r1)
(46/69) Installing libxslt (1.1.29-r0)
(47/69) Installing libxslt-dev (1.1.29-r0)
(48/69) Installing linux-headers (4.4.6-r1)
(49/69) Installing gdbm (1.11-r1)
(50/69) Installing python (2.7.12-r0)
(51/69) Installing mercurial (3.8.2-r0)
(52/69) Installing openssl (1.0.2j-r0)
(53/69) Installing openssl-dev (1.0.2j-r0)
(54/69) Installing libpcre16 (8.38-r1)
(55/69) Installing libpcre32 (8.38-r1)
(56/69) Installing libpcrecpp (8.38-r1)
(57/69) Installing pcre-dev (8.38-r1)
(58/69) Installing libedit (20150325.3.1-r3)
(59/69) Installing db (5.3.28-r0)
(60/69) Installing libsasl (2.1.26-r7)
(61/69) Installing libldap (2.4.44-r1)
(62/69) Installing libpq (9.5.4-r0)
(63/69) Installing postgresql-client (9.5.4-r0)
(64/69) Installing postgresql (9.5.4-r0)
(65/69) Installing postgresql-libs (9.5.4-r0)
(66/69) Installing postgresql-dev (9.5.4-r0)
(67/69) Installing tiff (4.0.6-r3)
(68/69) Installing tiff-dev (4.0.6-r3)
(69/69) Installing wget (1.18-r0)
Executing busybox-1.24.2-r11.trigger
Executing ca-certificates-20160104-r4.trigger
OK: 304 MiB in 101 packages
+ pip install --no-cache-dir -U setuptools pip
Collecting setuptools
Downloading setuptools-28.7.0-py2.py3-none-any.whl (472kB)
Requirement already up-to-date: pip in /usr/local/lib/python3.5/site-packages
Installing collected packages: setuptools
Found existing installation: setuptools 20.10.1
Uninstalling setuptools-20.10.1:
Successfully uninstalled setuptools-20.10.1
Successfully installed setuptools-28.7.0
+ pip install --no-cache-dir -r /usr/src/app/requirements.txt
Collecting argon2_cffi==16.2.0 (from -r /usr/src/app/requirements.txt (line 1))
Downloading argon2_cffi-16.2.0.tar.gz (1.2MB)
Collecting bcrypt==3.1.1 (from -r /usr/src/app/requirements.txt (line 2))
Downloading bcrypt-3.1.1.tar.gz (40kB)
Collecting certifi==2016.9.26 (from -r /usr/src/app/requirements.txt (line 3))
Downloading certifi-2016.9.26-py2.py3-none-any.whl (377kB)
Collecting cffi==1.8.3 (from -r /usr/src/app/requirements.txt (line 4))
Downloading cffi-1.8.3.tar.gz (403kB)
Collecting defusedxml==0.4.1 (from -r /usr/src/app/requirements.txt (line 5))
Downloading defusedxml-0.4.1.tar.gz (48kB)
Collecting Django==1.10.2 (from -r /usr/src/app/requirements.txt (line 6))
Downloading Django-1.10.2-py2.py3-none-any.whl (6.8MB)
Collecting django-appconf==1.0.2 (from -r /usr/src/app/requirements.txt (line 7))
Downloading django_appconf-1.0.2-py2.py3-none-any.whl
Collecting django-app-namespace-template-loader==0.4.1 (from -r /usr/src/app/requirements.txt (line 9))
Downloading django_app_namespace_template_loader-0.4.1-py2.py3-none-any.whl
Obtaining django-backblazeb2-storage from git+https://github.com/royendgel/django-backblazeb2-storage.git@f017e4ce7564c852f55d2aa67e70983ccc7563ec#egg=django-backblazeb2-storage (from -r /usr/src/app/requirements.txt (line 10))
Cloning https://github.com/royendgel/django-backblazeb2-storage.git (to f017e4ce7564c852f55d2aa67e70983ccc7563ec) to /src/django-backblazeb2-storage
Could not find a tag or branch 'f017e4ce7564c852f55d2aa67e70983ccc7563ec', assuming commit.
Collecting django_compressor==2.1 (from -r /usr/src/app/requirements.txt (line 11))
Downloading django_compressor-2.1-py2.py3-none-any.whl (130kB)
Collecting django-debug-toolbar==1.6 (from -r /usr/src/app/requirements.txt (line 12))
Downloading django_debug_toolbar-1.6-py2.py3-none-any.whl (205kB)
Collecting django-el-pagination==3.0.1 (from -r /usr/src/app/requirements.txt (line 13))
Downloading django-el-pagination-3.0.1.tar.gz (358kB)
Collecting django-formtools==1.0 (from -r /usr/src/app/requirements.txt (line 14))
Downloading django_formtools-1.0-py2.py3-none-any.whl (132kB)
Collecting django-mailer==1.2.2 (from -r /usr/src/app/requirements.txt (line 15))
Downloading django-mailer-1.2.2.tar.gz
Collecting django-user-accounts==2.0.0 (from -r /usr/src/app/requirements.txt (line 16))
Downloading django_user_accounts-2.0.0-py2.py3-none-any.whl (104kB)
Collecting docutils==0.12 (from -r /usr/src/app/requirements.txt (line 17))
Downloading docutils-0.12-py3-none-any.whl (508kB)
Collecting lxml==3.6.4 (from -r /usr/src/app/requirements.txt (line 18))
Downloading lxml-3.6.4.tar.gz (3.7MB)
Collecting oauthlib==2.0.0 (from -r /usr/src/app/requirements.txt (line 19))
Downloading oauthlib-2.0.0.tar.gz (122kB)
Collecting Pillow==3.4.2 (from -r /usr/src/app/requirements.txt (line 20))
Downloading Pillow-3.4.2.tar.gz (10.8MB)
Collecting psycopg2==2.6.2 (from -r /usr/src/app/requirements.txt (line 21))
Downloading psycopg2-2.6.2.tar.gz (376kB)
Collecting pycparser==2.16 (from -r /usr/src/app/requirements.txt (line 22))
Downloading pycparser-2.16.tar.gz (230kB)
Collecting PyJWT==1.4.2 (from -r /usr/src/app/requirements.txt (line 23))
Downloading PyJWT-1.4.2-py2.py3-none-any.whl
Collecting python-magic==0.4.12 (from -r /usr/src/app/requirements.txt (line 24))
Downloading python-magic-0.4.12.tar.gz
Collecting python-simple-hipchat==0.4.0 (from -r /usr/src/app/requirements.txt (line 25))
Downloading python-simple-hipchat-0.4.0.tar.gz
Collecting python-social-auth==0.2.21 (from -r /usr/src/app/requirements.txt (line 26))
Downloading python_social_auth-0.2.21-py3-none-any.whl (302kB)
Collecting python3-openid==3.0.10 (from -r /usr/src/app/requirements.txt (line 27))
Downloading python3-openid-3.0.10.zip (365kB)
Collecting pytz==2016.7 (from -r /usr/src/app/requirements.txt (line 28))
Downloading pytz-2016.7-py2.py3-none-any.whl (480kB)
Collecting raven==5.30.0 (from -r /usr/src/app/requirements.txt (line 29))
Downloading raven-5.30.0-py2.py3-none-any.whl (277kB)
Collecting requests==2.11.1 (from -r /usr/src/app/requirements.txt (line 30))
Downloading requests-2.11.1-py2.py3-none-any.whl (514kB)
Collecting requests-oauthlib==0.7.0 (from -r /usr/src/app/requirements.txt (line 31))
Downloading requests_oauthlib-0.7.0-py2.py3-none-any.whl
Collecting simplejson==3.8.2 (from -r /usr/src/app/requirements.txt (line 32))
Downloading simplejson-3.8.2.tar.gz (76kB)
Collecting six==1.10.0 (from -r /usr/src/app/requirements.txt (line 33))
Downloading six-1.10.0-py2.py3-none-any.whl
Collecting sqlparse==0.2.1 (from -r /usr/src/app/requirements.txt (line 34))
Downloading sqlparse-0.2.1-py2.py3-none-any.whl
Collecting uwsgi==2.0.14 (from -r /usr/src/app/requirements.txt (line 35))
Downloading uwsgi-2.0.14.tar.gz (788kB)
Collecting rcssmin==1.0.6 (from django_compressor==2.1->-r /usr/src/app/requirements.txt (line 11))
Downloading rcssmin-1.0.6.tar.gz (582kB)
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/rcssmin.egg-info
writing pip-egg-info/rcssmin.egg-info/PKG-INFO
writing dependency_links to pip-egg-info/rcssmin.egg-info/dependency_links.txt
writing top-level names to pip-egg-info/rcssmin.egg-info/top_level.txt
writing manifest file 'pip-egg-info/rcssmin.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-dzarxluf/rcssmin/setup.py", line 42, in <module>
setup()
File "/tmp/pip-build-dzarxluf/rcssmin/setup.py", line 33, in setup
return run(script_args=args, ext=ext, manifest_only=_manifest)
File "/tmp/pip-build-dzarxluf/rcssmin/_setup/py3/setup.py", line 426, in run
return _core.setup(**kwargs)
File "/usr/local/lib/python3.5/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/local/lib/python3.5/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 279, in run
self.find_sources()
File "/usr/local/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 306, in find_sources
mm.run()
File "/usr/local/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 533, in run
self.add_defaults()
File "/usr/local/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 562, in add_defaults
sdist.add_defaults(self)
File "/usr/local/lib/python3.5/site-packages/setuptools/command/py36compat.py", line 35, in add_defaults
self._add_defaults_data_files()
File "/usr/local/lib/python3.5/site-packages/setuptools/command/py36compat.py", line 111, in _add_defaults_data_files
dirname, filenames = item
TypeError: 'Documentation' object is not iterable
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-dzarxluf/rcssmin/
The command '/bin/sh -c set -ex && addgroup -g 82 -S www-data && adduser -u 82 -D -S -G www-data www-data && apk update && apk upgrade && build_pkgs="build-base linux-headers openssl-dev pcre-dev wget postgresql-dev libxml2-dev libxslt-dev libffi-dev jpeg-dev freetype-dev tiff-dev libwebp-dev zlib-dev git mercurial" && runtime_pkgs="ca-certificates postgresql openssl libxml2 libxslt libffi jpeg freetype tiff libwebp libmagic gettext pcre zlib bash bc" && apk --update add --no-cache ${build_pkgs} ${runtime_pkgs} && pip install --no-cache-dir -U setuptools pip && pip install --no-cache-dir -r /usr/src/app/requirements.txt && apk del ${build_pkgs} && rm -rf /var/cache/apk/*' returned a non-zero code: 1
Может быть, это связано с https://github.com/ndparker/rcssmin/issues/4 .
Это не связано с этой проблемой, /у меня установлены правильные заголовки, и передача --install-option=without-c-extensions
не помогает. Я думаю, что это проблема с rcssmin, сломанным setuptools.
Я могу предложить использовать колеса (http://pythonwheels.com/), это должно уберечь от подобных проблем с установкой в будущем...
Да, за исключением того, что rcss делает что-то странное, и я не могу заставить его построить колесо.
Могу ли я также предложить не требовать пакетов минификации, потому что это может быть полезно и без них.
Я использую бесплатный CloudFlare, который предоставляет услуги CDN и DNS. И я могу включить минимизацию JS/CSS/HTML с их стороны. Но мне нужен 1 файл .css. Это основная причина, по которой мне нужны такие пакеты, как django-compressor. Объедините все .css в один на этапе сборки образа Docker.
Та же проблема затрагивает зависимость rjsmin
.
позвольте мне попытаться понять: проблема в исходном посте связана с установкой rcssmin/rjsmin и не имеет ничего общего с django-compressor. однако, если бы django-compressor не требовал этих проектов, их ошибки были бы менее болезненными для пользователей django-compressor. кроме того, было бы неплохо распространять django-compressor как колесо, так как это может предотвратить некоторые проблемы, но, вероятно, не эту конкретную.
если это так, @lorddaedra , не могли бы вы открыть новые проблемы с зависимостью и колесом, и вы не против, если я закрою эту проблему здесь? если это не так, пожалуйста, помогите мне понять, я почти ничего не знаю, когда дело доходит до упаковки Python.
Кстати, не мог бы кто-нибудь из вас, ребята, опубликовать, как вы обошли это для других людей, приземлившихся здесь?
Что касается проблемы с ndparker/rcssmin#6, @dan-gittik сообщает о ручном вызове python setup.py install
для установки зависимостей, прежде чем оставить его для pip. Это похоже на работающее решение в локальной среде, пока это решено, но может потребоваться небольшая возня в зависимости от того, какой механизм развертывания люди используют для запуска производства.
Благодарность!
@karyon , я разместил эту ошибку здесь из-за принципа «вассал моего вассала не мой вассал». Я подумал, что было бы неплохо написать это здесь... По крайней мере, вы должны знать об этой ошибке установки в одном из ваших основных компонентов...
Люди, которым нужно быстрое (временное) решение, вы можете понизить версию setuptools с помощью pip с помощью этих двух команд:
Тогда pip install django-compressor должен работать.
Setuptools отменил оскорбительное изменение в 28.7.1. Я рекомендую закрыть эту проблему и позволить setuptools решить ее.
согласен, спасибо за обновление.
@lorddaedra , это была хорошая идея опубликовать эту проблему здесь, я не хотел подразумевать обратное :) я закрою эту проблему, но снова не стесняйтесь открывать новые проблемы с зависимостями и колесами.
.. вообще-то я оставлю это открытым на несколько дней, на случай, если здесь застрянут еще люди
закрытие. еще раз спасибо за вашу помощь!
Для Windows требуется следующая библиотека, выполните шаги, указанные здесь https://www.scivision.dev/python-windows-visual-c-14-required/
Самый полезный комментарий
Связано с https://github.com/pypa/setuptools/issues/833