ํ๊ฒฝ
dockerfile์์ ์คํ ์ค์ ๋๋ค.
๊ธฐ์
๋ค์ ๋ช ๋ น์ pip 18.1์์ ์๋ํ๊ณ 19.0์์๋ ์คํจํฉ๋๋ค.
pip3 install --no-cache-dir --upgrade -r requirements.txt
19.0์์๋ ๋ค์ ์์ธ์ ํจ๊ป ์คํจํฉ๋๋ค.
Exception:
Traceback (most recent call last):
File "/Users/scotts/.virtualenvs/python3/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/Users/scotts/.virtualenvs/python3/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/Users/scotts/.virtualenvs/python3/lib/python3.6/site-packages/pip/_internal/wheel.py", line 848, in build
assert building_is_possible
AssertionError
--no-cache-dir
ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ๋ฉด ์ค์น๊ฐ ์ฑ๊ณตํฉ๋๋ค.
requirements.txt
๋ค์๊ณผ ๊ฐ์ ์ผ์ด ๋ฐ์ํฉ๋๋ค.
Python v3.6.8
pip version 18.1
์ ์์
Ubuntu:latest
์ด๋ฏธ์ง.
@snstanton ์ด๋ค ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? pip v18.1์์๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๋ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ด ์
์ฅ์์๋ ์ด๋ค ํจํค์ง / ๋ฐฐํฌ๋ฅผ ์ค์นํ๋ ค๊ณ ํ๋์ง๊ฐ ์ค์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
--no-cache-dir
์ค์ ํ์ง ์์๋ ํ์๋ฉ๋๋ค. ์ค์นํ๋ ค๋ ๋ชจ๋ ํจํค์ง๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์์ด๋ ๋ฐ์ํฉ๋๋ค.
์ ๊ฒฝ์ฐ์๋ sudo -H
๋ฐ bash -l -c
์กฐํฉ์ผ๋ก sudo -H
pip
๋ฅผ ์คํํ ๋ ํ์๋ฉ๋๋ค.
$ sudo -H bash -l -c "/data/virtualenvs/events_beta/bin/pip install hypothesis"
Looking in indexes: https://pypi.org/simple, http://pypi.lan.cogtree.com/cogtree/simple/
Collecting hypothesis
Downloading http://pypi.lan.cogtree.com/cogtree/simple/hypothesis/hypothesis-4.1.0-py3-none-any.whl (238kB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 245kB 120.5MB/s
Requirement already satisfied: attrs>=16.0.0 in /data/virtualenvs/events_beta/lib/python3.6/site-packages (from hypothesis) (18.2.0)
Exception:
Traceback (most recent call last):
File "/data/virtualenvs/events_beta/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/data/virtualenvs/events_beta/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/data/virtualenvs/events_beta/lib/python3.6/site-packages/pip/_internal/wheel.py", line 848, in build
assert building_is_possible
AssertionError
์์ด ๊ฐ์ ๋ช
๋ น์ ์คํ -l
๋ด์ bash -c
, ๋๋์์ด bash -l -c
์ ํ ํฌํจ, ๋ชจ๋ ์๋ ์.
$ sudo -H bash -c "/data/virtualenvs/events_beta/bin/pip install hypothesis"
Collecting hypothesis
Downloading https://files.pythonhosted.org/packages/89/7b/d6206dcde963139daa03a1d85b0c3428cb3ebf2ae8de3244b14a63e22680/hypothesis-4.1.0.tar.gz (180kB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 184kB 33.7MB/s
Requirement already satisfied: attrs>=16.0.0 in /data/virtualenvs/events_beta/lib/python3.6/site-packages (from hypothesis) (18.2.0)
Building wheels for collected packages: hypothesis
Building wheel for hypothesis (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/10/12/eb/4ab734432e8466d545c8501f531458845b45e8c4427d5367f9
Successfully built hypothesis
Installing collected packages: hypothesis
Successfully installed hypothesis-4.1.0
ํฅ๋ฏธ๋กญ๊ฒ๋ sudo
๋๋ bash
์์ด ๋์ผํ ๋ช
๋ น์ ์คํํ๋ฉด ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์ฌ์ ํ ์คํจํ๋ฏ๋ก ์ด์ํ ๊ถํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
virtualenv๊ฐ ์ต์ ๋ฒ์ ์ pip๋ฅผ ์๋์ผ๋ก ์ค์นํ๊ธฐ ๋๋ฌธ์์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ฌ๋๋ค์ virtualenv์ --no-download
์ต์
์ ์ ๊ณตํ๊ฑฐ๋ VIRTUALENV_NO_DOWNLOAD=1
์ค์ ํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ virtualenv๋ฅผ ๋ง์ง๋ง์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํ ์๊ฐ์ ๋ฐ๋ผ ๋งค์ฐ ์ค๋๋ ๋ฒ์ ์ pip๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ํ tox : VIRTUALENV_NO_DOWNLOAD=1 tox
์ ํจ๊ป ์๋ํฉ๋๋ค.
๊ฐ์น์๋ ์ผ : ํจํค์ง๊ฐ ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ ๋์ผํ ์ค๋ฅ๋ก ์คํจํฉ๋๋ค.
gregory.starck<strong i="6">@canon</strong>:~/tmp$ ./venv/bin/pip install --no-cache-dir six ; echo $?
Looking in indexes: http://pypi:3141/root/ax/+simple/
Requirement already satisfied: six in ./venv/lib/python3.6/site-packages (1.12.0)
Exception:
Traceback (most recent call last):
File "/home/gregory.starck/tmp/venv/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/home/gregory.starck/tmp/venv/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/home/gregory.starck/tmp/venv/lib/python3.6/site-packages/pip/_internal/wheel.py", line 848, in build
assert building_is_possible
AssertionError
2
gregory.starck<strong i="7">@canon</strong>:~/tmp$
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ง๊ธ์ pip ๋ฒ์ ์ ์์ ์ผ๋ก ๊ณ ์ ํ์ต๋๋ค.
pip install --upgrade pip==18.1
๋ฌธ์ ๋ ์ด์ค ์
์คํจ์ด๋ฏ๋ก env PYTHONOPTIMIZE = 1 (๋๋ ๋งค๊ฐ ๋ณ์ -O)์ ์ค์ ํ๋ฉด์ด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ค.
๋ฐฉ๊ธ ํ
์คํธํ์ต๋๋ค.
์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ์ด์ฌ์ด ๋ชจ๋ ์ด์ค ์
์ ์ ๊ฑฐํ๋ ์ฝ๋๋ฅผ ์ต์ ํํ๊ธฐ ๋๋ฌธ์ ์๋ํฉ๋๋ค.
= 2 (๋๋ -OO)๋ก ๊ฐ์ง ๋ง์ญ์์ค. ๋
์คํธ๋ง์ ์ ๊ฑฐํ๊ณ ๋ค๋ฅธ ํธ๋ ์ด์ค ๋ฐฑ์ด ๋ํ๋ ๊ฒ์
๋๋ค. ์ผ๋ถ ์ฝ๋๋ ์ด์ ๋ํด ์๋ํ๋ ค๊ณ ํฉ๋๋ค.
๋๊ตฐ๊ฐ ์ด๊ฒ์ด ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค ( source ) :
# TODO: This check fails if --no-cache-dir is set. And yet we
# might be able to build into the ephemeral cache, surely?
building_is_possible = self._wheel_dir or (
autobuilding and self.wheel_cache.cache_dir
)
assert building_is_possible
https://github.com/pypa/pip/pull/5884 ์ด๊ฒ์ด ์์ธ์ด ๋ ์์๋ ๊ด๋ จ ๋ณ๊ฒฝ ์ธ ๊ฒ ๊ฐ์ต๋๊น?
pip ์ ์ง ๊ด๋ฆฌ์๊ฐ์ด ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ต๊ทผ 19 ๋ฆด๋ฆฌ์ค๋ฅผ ๋กค๋ฐฑํด์ผํ๋ ๊ฒ ๊ฐ์ต๋๊น?
19.0 ๋ฆด๋ฆฌ์ค ์ ๋ณด : https://github.com/pypa/pip/blob/master/NEWS.rst#190 -2019-01-22
์
๋ฐ์ดํธ : ์ฌ๊ธฐ์์ ์์ค์ ๋์ง๋ ค๊ณ ํ์ง ์๊ณ ๋ฆด๋ฆฌ์ค๊ฐ _just_ ๋ฐ์ํ์ ๋์ด ์ํฅ์๋ฐ๋ ์ฌ๋๋ค์ ์ ์ํ๊ฒ ์ฐจ๋จ ํด์ ํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ ์ํ์ต๋๋ค. ํซํฝ์ค๋ก ๋กค ํฌ์๋ํ๋ ๊ฒ๋ ์๋ํฉ๋๋ค. ์ด ๋ฏธ์
ํฌ๋ฆฌํฐ์ปฌ ๋๊ตฌ๋ฅผ ์ง์ํ๋ ์ปค๋ฎค๋ํฐ์ ๋
ธ๊ณ ์ ๊ฐ์ฌ ๋๋ฆฌ๋ฉฐ, ์ค์๋ก๋ถํฐ ๋ฐฐ์ฐ๊ณ ํฅํ ๋ฌธ์ ๋ฅผ ์๋ฐฉํ๊ธฐ์ํ ์ฌํ ๋ถ์์ ๋ํ ์๋์ ๊ฐ์ ์ ๋์ํฉ๋๋ค. ํํธ, ์ฐ๋ฆฌ๋ ๋ด๋ถ์ ์ผ๋ก ๋์ผํ ์์
์ ์ํํ๊ณ ์์ต๋๋ค. ์ฆ, ๋ชจ๋ ์์น์์ pip
๋ฒ์ ์ ์์ ๋กญ๊ฒ ๊ณ ์ ํ ์ ์์ต๋๋ค. :)
TODO ๋๊ธ์ ์ถ๊ฐ ํ PR๋ ๋ต์ฅ์ผ๋ก์ด ๋๊ธ์ด ์์ต๋๋ค : https://github.com/pypa/pip/pull/5743/files#r215832743
ํด๋น ์ฃผ์๊ณผ PYTHONOPTIMIZE=1
๋ฅผ ์ ๋ฌํ๋ฉด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋ค๋ ์์ ์ฃผ์ ์์ฑ์๊ฐ ๋จ์ธ ๋ฌธ์ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์์ ์ผ ์ ์์ต๋๋ค (๋กค๋ฐฑ ๋ฌธ์ ์ ๋ฌด๊ด).
์, ๊ทธ ์ฃผ์ฅ์ ์ญ์ ํ๋ฉด ํจํค์ง๊ฐ --no-cache-dir
์ ์ค์น๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ sdist ํจํค์ง์ ๊ฒฝ์ฐ Building wheel
๋์ Running setup.py install
๋ฉ๋๋ค.
์ด๊ฒ์ ๋ด ํ๋ก์ ํธ์์๋ ์ผ์ด๋๊ณ ์์ต๋๋ค. ์์ค์์ Python 3์ ์ค์นํ๋ FROM ubuntu:bionic
๋ฐ FROM centos:centos7
๋น๋ ๋ Docker ์ด๋ฏธ์ง์์์ด๋ฅผ ์ฌํ ํ ์ ์์ต๋๋ค (์ฌ๊ธฐ ์ ํด๋น Docker ์ด๋ฏธ์ง ๋ชจ๋์ ๋ํด ์คํจํ ์๋ฅผ ๋ณด์ฌ์ฃผ๋ Gist ๊ฐ ์์ต๋๋ค. ๋์์ด ๋ ์ ์์ต๋๋ค). Gist์ ์์์ requirements.txt
์ ๊ฒฝ์ฐ
$ pip3 install --upgrade pip setuptools wheel
Requirement already up-to-date: pip in /usr/lib/python3.6/site-packages (19.0)
Requirement already up-to-date: setuptools in /usr/lib/python3.6/site-packages (40.6.3)
Requirement already up-to-date: wheel in /usr/lib/python3.6/site-packages (0.32.3)
๊ทธ๋
$ pip3 install --upgrade --no-cache-dir -r requirements.txt
์คํจํ๋ค
Exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/usr/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/usr/lib/python3.6/site-packages/pip/_internal/wheel.py", line 848, in build
assert building_is_possible
AssertionError
๊ทธ๋ฌ๋
$ pip3 install --upgrade -r requirements.txt
์์๋๋ก ์ ์๋ํฉ๋๋ค.
์ ๋ ํนํ tox
+ docker
+ ENV PIP_NO_CACHE_DIR=off
์ด๊ฒ์ ์น๊ณ ์์ต๋๋ค.
๋ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ tox-virtualenv-no-download
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ pip๊ฐ ์๋ ์
๋ฐ์ดํธ๋์ง ์๋๋กํ๋ ๊ฒ์
๋๋ค.
๋ํ ์ด๋ฏธ์ง๋ฅผ ์๊ฒ ์ ์งํ๊ธฐ ์ํด Docker ๋ด๋ถ ์ค์น์ --no-cache-dir
๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋์ผํ RUN
๋จ๊ณ์์ --cache-dir=/pipcache
๋ฐ rm -rf /pipcache
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ฏ๋ก ์ด๋ฏธ์ง์์ ๋๋์ง ์์ต๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์ โโ์ด๋ ต๊ณ ์ด์ ๊ฐ์ ๋ฒ๊ทธ๋ ํญ์ ๋ฐ์ํฉ๋๋ค. ํ์คํ ์๋ฌด๋์ด ์ฌ๊ฑด์ ๋ํด pip
๊ด๋ฆฌ์ ๋ ๊ธฐ์ฌ์๋ฅผ ๋น๋ํด์๋ ์๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋๋์ด ๋ฒ๊ทธ๊ฐ ์ผ๋ฐ ๋ฆด๋ฆฌ์ค๋ก ๋์ด ๊ฐ๊ธฐ ์ ์ ์กํ ์์๋ (๋๋ฝ ๋) ๊ธฐํ์ ์๋ก ์ธํด pip ํ์ ์ผ์ข ์ ์ฌํ ๋ถ์์ ๊ฐ์น๊ฐ ์๋ค๊ณ ์ ์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด :
--no-cache-dir
์ ๊ฐ์ ํต์ฌ ๊ธฐ๋ฅ์ ์๋ ํ
์คํธTODO
s์ฌํ ๋ถ์์ Python ํ๋ก์ ํธ์ ํต์ฌ ์ธ pip
์ ๊ฐ์ ์ํํธ์จ์ด๊ฐ ํฅํ์ด ์ ๋ ๊ท๋ชจ์ ๋ฒ๊ทธ์ ํจ๊ป ์ ๊ณต๋์ง ์๋๋กํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ง ์ ์ฉํ ๊ฐ์ ์ฌํญ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์ด ๋ฒ๊ทธ๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค. --no-cache-dir์ ์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๋์ปค ์ด๋ฏธ์ง์์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ @coderanger๊ฐ ์ ์ํ ์๋ฃจ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ฑด๋ฐฐ ๐๐ฐ๐
๋ฌธ์ # 6166๊ณผ ์ค๋ณต ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋น ๋ฅด๊ณ ์ฌ์ด ๋ณต์ Dockerfile :
FROM buildpack-deps:buster
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN apt-get update && apt-get install -y --no-install-recommends python3-dev && rm -rf /var/lib/apt/lists/*
RUN curl https://bootstrap.pypa.io/get-pip.py | python3 - --no-cache-dir
๋จ์ํ ์ด์ค ์ ์ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์์ ์ผ ์ ์์ต๋๋ค.
์ ํํ๋ ์๋๋๋ค. ephem์ด ์๋ ๋น๋๋ฅผ ์ํด ์ด๊ฒ์ ์ ์งํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์นจ ์์ฌ๊ฐ ๋๋๋ฉด ๋ฒ๊ทธ ์์ PR์ ์ ์ถํ๊ฒ ์ต๋๋ค. :)
@pradyunsg ๋ด PR์์ ์คํจํ ํ ์คํธ๋ฅผ ํ์ธํ์ญ์์ค.
๋๋ฅผ ์ํด --no-cache
(๋๋ --no-cache-dir
) ์ต์
์ ์ฌ์ฉํ๋ฉด pip v19.0์ด ์๋ฌด๊ฒ๋ ์ค์นํ์ง ๋ชปํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๋ํ ๋ฒ๊ทธ ์์ ์ผ๋ก # 6171์ ์ ์ถํ์ต๋๋ค. ์ด ์ค๋ ๋์ ์ฌ๋๋ค์ด PR์ ์๋ํ๊ณ ์ค์ ๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง ํ์ธํ ์ ์์ต๋๊น?
์ถ์ :์ด ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ํด๊ฒฐํ๊ธฐ ์ํด PR์ ์ ์ถํด ์ฃผ์ @tgs ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! :)
wfm, ์์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
$ pip install pip --upgrade
Requirement already up-to-date: pip in ./venv/lib/python3.6/site-packages (19.0)
$ pip install --no-cache-dir pip
Requirement already satisfied: pip in ./venv/lib/python3.6/site-packages (19.0)
Exception:
Traceback (most recent call last):
File "/tmp/venv/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/tmp/venv/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/tmp/venv/lib/python3.6/site-packages/pip/_internal/wheel.py", line 848, in build
assert building_is_possible
AssertionError
$ pip install git+https://github.com/pradyunsg/pip@fix/pep-517-building-assertion
Collecting git+https://github.com/pradyunsg/pip@fix/pep-517-building-assertion
Cloning https://github.com/pradyunsg/pip (to revision fix/pep-517-building-assertion) to ./pip-req-build-g_3qep31
Branch 'fix/pep-517-building-assertion' set up to track remote branch 'fix/pep-517-building-assertion' from 'origin'.
Switched to a new branch 'fix/pep-517-building-assertion'
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Building wheels for collected packages: pip
Building wheel for pip (PEP 517) ... done
Stored in directory: /tmp/pip-ephem-wheel-cache-sb1_muik/wheels/bd/86/cd/7688dba746eabc598fb37d4a93e2ff9bd05a6d9f907ee7b6cd
Successfully built pip
Installing collected packages: pip
Found existing installation: pip 19.0
Uninstalling pip-19.0:
Successfully uninstalled pip-19.0
Successfully installed pip-19.1.dev0
$ pip install --no-cache-dir astpretty # downloads a wheel
Collecting astpretty
Downloading https://files.pythonhosted.org/packages/9d/10/cb0c3a3edb16f45be05bdba7f37798fcddb8cf085def8cb6e62b2ad7c711/astpretty-1.4.1-py2.py3-none-any.whl
Installing collected packages: astpretty
Successfully installed astpretty-1.4.1
$ pip install --no-cache-dir simplejson # requires building
Collecting simplejson
Downloading https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz (81kB)
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 81kB 1.0MB/s
Installing collected packages: simplejson
Running setup.py install for simplejson ... done
Successfully installed simplejson-3.16.0
๊ณง PR6171์ ๋ณํฉํ๊ณ ๋ฒ์ 19.0.1์ ๋ฆด๋ฆฌ์คํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฌ๋๋ค์ ๋ค๋ฅธ ํจํค์ง ๋๋ ์ข ์์ฑ, IMO์ ๋ํด ์ํํ๋ ๊ฒ์ฒ๋ผ CI์ pip๋ฅผ ๊ณ ์ ํด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌํ์ฑ์ด์๊ณ ๊ฐ์์ค๋ฌ์ด ํ์์ ์ํ์ด ์์ต๋๋ค. ๊ณ ์ ํ๋ฉด ๋ฏธ๋ฆฌ ํ์ธํ๊ณ ์ํ๋ ์๋๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ต๋๋ค.
์ฌ๋๋ค์ ๋ค๋ฅธ ํจํค์ง ๋๋ ์ข ์์ฑ, IMO์ ๋ํด ์ํํ๋ ๊ฒ์ฒ๋ผ CI์ pip๋ฅผ ๊ณ ์ ํด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌํ์ฑ์ด์๊ณ ๊ฐ์์ค๋ฌ์ด ํ์์ ์ํ์ด ์์ต๋๋ค. ๊ณ ์ ํ๋ฉด ๋ฏธ๋ฆฌ ํ์ธํ๊ณ ์ํ๋ ์๋๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ต๋๋ค.
@cjerdonek : pip
์ฌ์ฉ์ ๊ด์ ์์ ๋ณผ ๋ ๋ง์ (์๋ง๋ ๋๋ถ๋ถ์) ์ปจํ
์คํธ์์ pip
์ ๊ณ ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์ํ ๊ณ ์ ํ์ง ์์ผ๋ฉด ์ ํํ ์ด๋ฐ ์ข
๋ฅ์ ์ํ์ ๊ฐ์ํ๊ณ ์๋ค๋ ์ฌ์ค์ ์์์ผํ๋ฉฐ, ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋๋ผ๋ pip
๊ด๋ฆฌ์์๊ฒ ๋ถํ ํ ์ ์์ต๋๋ค!
๊ทธ๋ฌ๋ ... pip
๊ด๋ฆฌ์ ๊ด์ ์์ (๊ทธ๋ฆฌ๊ณ ๋ ๊ด๋ฒ์ํ๊ฒ PyPA ๋๋ Python ํต์ฌ ํ ๊ด์ ์์) ๋ง์ ์ฌ๋๋ค์ด pip
๊ณ ์ ํ์ง ์๋๋ค๋ ์ฌ์ค์ ๋ณด๋ ๊ฒ์ด ํ๋ช
ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ฐ์ผ๋ก ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์์ต๋๋ค. ์๋ก์ด ๋น๋์ ์ํด ์ ํ๋์์ต๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ์๊ฐ ์ด๋ฌํ ํต์ฌ ๋๊ตฌ์ ์ ์ง ๊ด๋ฆฌ์ ๋ํ ์ ๋ขฐ ์์ค์ด ๋์ ์ก์์ ๋ณด์ฌ์ค๋๋ค.)
์ด์ ๊ฐ์ ์ฌ๊ฑด์ ๊ทธ ์ ๋ขฐ๋ฅผ ์ฝํ์ํต๋๋ค. ๊นจ์ง CI ๋น๋๋ ์ค์ ๋ฌธ์ ๊ฐ ์๋์ง๋ง (๋น์ ์ด ๋งํ๋ฏ์ด CI ๋น๋์ pip
๋ฅผ ๊ณ ์ ํ๊ฑฐ๋ ์ด๋ค ์ํ์ด ์๋์ง ์๊ณ ์์ด์ผ ํจ) ๋ค์์ ์ฆ์ ๋๋ ์คํ๋ ค ์๊ด ๋ ๊ฒฝ๊ณ ์
๋๋ค. ๊ทธ๋ก ์ธํด ์ ๋ขฐ๊ฐ ๋ฌด๋์ก์ต๋๋ค.
์ด๊ฒ์ด ์ ๊ฐ์ด ์ฌ๊ฑด์ด ์ผ์ข
์ (๋น๋์๋) ์ฌํ ๋ถ์ ๊ณผ์ ์ ๊ฐ์น๊ฐ ์๋ค๊ณ ์ ์ํ ์ด์ ์
๋๋ค. pip
๊ด๋ฆฌ์๋ ์ง๊ธ ๋น์ฅ ๊ธฐ๋ถ์ด ์ข์ง ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ๊ฐํ ๋ฌธ์ ์ด๋ฉฐ ๊ฐ์ ์ฌํญ์ด ์๋์ง ๊ฒ์ฌํด์ผํฉ๋๋ค.
์, ์ด์ ๊ฐ์ ์ฌ๊ฑด์ ์ ๋ขฐ ๊ตฌ์ถ์ ๋์์ด๋์ง ์์ต๋๋ค. ์ด๋ฅผ ํผํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ด๊ธฐ ์ํด ์ฌํ ๋ถ์์ ํ ๊ฒ์ ๋๋ค (ํญ์ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋งค ๋ฆด๋ฆฌ์ค ํ์ ๊ทธ๋ ๊ฒํฉ๋๋ค).
(๋๋ถ๋ถ) ์ ์ ํ ๋ด๋ก ์ ์ ์งํ๊ณ ๊ฑด์ค์ ์ธ ์๊ฒฌ์ ๋ณด๋ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ผ๋ฐ์ ์ผ๋ก ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ํฉ์ด ํจ์ฌ ๋ ๋ถ์๋ฉ๋๋ค. :)
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์กฐ์ฌํด์ผ ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๋ฒ๊ทธ ๋ณด๊ณ ์๊ฐ ์์ผ๋ฉฐ ๊ณง 19.0.1์ด ๋์ฌ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ ํต์ฌ์ --no-cache-dir
์๋์์ ๋น๋ํ๊ธฐ์ํ ์ถฉ๋ถํ ํ
์คํธ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ฌ๋๋ค๋ ๊ฒ์
๋๋ค. ํด๋น ์์ญ์ ์ถ๊ฐ ํ
์คํธ๋ ์ด์ ๊ฐ์ ํ๊ท๋ฅผ ํผํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ด๋ฉฐ,๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก "ํต์ฌ"๊ธฐ๋ฅ์ด ๊ณผ์ ํ
์คํธ๋๊ณ ์๋์ง ๊ฒํ ํ๋ ๊ฒ์ด ๋์์ด ๋ ๊ฒ์
๋๋ค.
ํ ๊ด๋ฆฌ์๋ก์ ์ ๊ฐ ๊ฐ์ง ํ ๊ฐ์ง ๋ฌธ์ ๋ ์ฌ๋๋ค์ด "ํต์ฌ"๊ธฐ๋ฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ ์๋ ๊ฒ์
๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋๋ --no-cache-dir
๊ฐ ์๋นํ ํ์ ์์ฅ์ด๋ผ๊ณ ๊ฐ์ ํ์ ๊ฒ์ด๋ฏ๋ก์ด ๊ฒฝ์ฐ์ ๋ด ์ง๊ฐ์ ์ ๋ขฐํ ์ ์์ต๋๋ค. :-) ๋ฐ๋ผ์ ์ด์ ๊ฐ์ ํผ๋๋ฐฑ์ ํนํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ด ๋ฒ๊ทธ์ ๋ํด์๋ง 19.0.1์ด ๊ณง ๋ฆด๋ฆฌ์ค ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฒฐ๊ตญ ์ค์ํ๊ณ ์๊ธํฉ๋๋ค. ๋ ๋ค๋ฅธ ๋ฒ๊ทธ ๋ณด๊ณ ์๋ ๋งค์ผ 19.0.2์์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
ํ ๊ด๋ฆฌ์๋ก์ ์ ๊ฐ ๊ฐ์ง ํ ๊ฐ์ง ๋ฌธ์ ๋ ์ฌ๋๋ค์ด "ํต์ฌ"๊ธฐ๋ฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋๋
--no-cache-dir
๊ฐ ์๋นํ ํ์ ์์ฅ์ด๋ผ๊ณ ์๊ฐํ์ ๊ฒ์ด๋ฏ๋ก ๋ถ๋ช ํ์ด ๊ฒฝ์ฐ์ ๋ด ์ง๊ฐ์ ์ ๋ขฐํ ์ ์์ต๋๋ค. :-) ๋ฐ๋ผ์ ์ด์ ๊ฐ์ ํผ๋๋ฐฑ์ ํนํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
๋ด๊ฐ --no-cache-dir
์ฌ์ฉํ๋ ์ ์ผํ ์ด์ ๋ mpi4py
๋ฅผ ์ค์นํ๊ธฐ์ํ ๊ฒ์
๋๋ค.
์ด๋ ๊ฒํ๋ฉด ์ค์นํ๊ธฐ ์ ์ ๋ค์ ๋ค์ด๋ก๋ํ๊ณ ๋ค์ ๋น๋ํ์ฌ MPI ๋ฐฐํฌ์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์๋ ๋์ผํ ๋ฌธ์ ๋ก CI ์์คํ ์ธ๋ถ์์ ์ฌํ ํ ์ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก pip 18.1.0์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.
pip install pip==18.1.0
๊ณง ํฌ๋งํ๊ณ ์ ๊ทธ๋ ์ด๋ํ์ญ์์ค.
๋ค์์ ์ฌ์ฉํฉ๋๋ค.
pip install "pip!=19.0"
ํฌ๋ง 19.1์ด ์์ ๋์์ต๋๋ค. :)
๋๋ ์ฐ๋ฆฌ๊ฐ ๊ธด๊ธํ ๋ฌธ์ ์ ๋ํ ์์ ๊ณผ ํจ๊ป ๋น๊ต์ ๋นจ๋ฆฌ 19.0.1์ ๊ฐ์ง ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค๋ฅธ PEP 517 ๊ด๋ จ ๋ฌธ์ ์ธ https://github.com/pypa/pip ์ ๊ฐ์ด --no-use-pep517
๋ฅผ --no-cache-dir
--no-use-pep517
์ ํจ๊ป ํฌํจํ๋ ๊ฒ์ด์ด ๋ฌธ์ ์ ๋ํ ๋ ๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ธ์ง ๊ถ๊ธํฉ๋๋ค. / issues / 6163 # issuecomment -456772043
ํ ๊ด๋ฆฌ์๋ก์ ์ ๊ฐ ๊ฐ์ง ํ ๊ฐ์ง ๋ฌธ์ ๋ ์ฌ๋๋ค์ด "ํต์ฌ"๊ธฐ๋ฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก, ๋๋ --no-cache-dir์ด ์๋นํ ํ์ ์์ฅ์ด๋ผ๊ณ ์๊ฐํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋ถ๋ช ํ์ด ๊ฒฝ์ฐ ์ ์ง๊ฐ์ ์ ๋ขฐํ ์ ์์ต๋๋ค. :-) ๋ฐ๋ผ์ ์ด์ ๊ฐ์ ํผ๋๋ฐฑ์ ํนํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
FWIW : Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ ํ ๋ --no-cache-dir
์์ฃผ ์ฌ์ฉํ์ฌ ์ ์ฉํ์ง ์์ ํ๊ฒฝ์์ ์บ์ ํฌ๋์ด ๋จ์ง ์๋๋กํฉ๋๋ค.
์ฌ๋๋ค์ ๋ค๋ฅธ ํจํค์ง ๋๋ ์ข ์์ฑ, IMO์ ๋ํด ์ํํ๋ ๊ฒ์ฒ๋ผ CI์ pip๋ฅผ ๊ณ ์ ํด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌํ์ฑ์ด์๊ณ ๊ฐ์์ค๋ฌ์ด ํ์์ ์ํ์ด ์์ต๋๋ค. ๊ณ ์ ํ๋ฉด ๋ฏธ๋ฆฌ ํ์ธํ๊ณ ์ํ๋ ์๋๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ต๋๋ค.
๋ง์ ํ๊ฒฝ์์ pip๋ ์ข ์์ฑ์ด ์๋๋๋ค. virtualenv๋ฅผ ๋ง๋ค ๋ ์ค์น๋ฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ ์ ํ์ด ์ต์ ๋ฒ์ ์์ ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ๊ฑฐ๊ธฐ์์ ํ ์คํธํ์ง ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ณ ์ ํ๋ฉด ์ด์ ๋ฒ์ ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ฐ์ดํธ๋ ๊ณง ๋๊ตฌ๋ ๊ฐํ ์์ํ ์์๋ ์์ ์ด ๋ ๊ฒ์ ๋๋ค. ๊ฑฐ๊ธฐ ์์์ด. ๊ทธ๋์ ์ ์๊ฒฌ์ ์ ๋ง๋ก ํ์ํ ๊ฒฝ์ฐ์๋ง ๊ณ ์ ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ฆ์ ์์ ํ์ญ์์ค.
pip 19.0.1์์ด ๋ฌธ์ ์ ๋ํ ์์ ์ผ๋ก ๋์์ต๋๋ค.
์๋ก์ด 19.0.1 ๋ฒ์ ์์ ์๋ณด๊ณ ๊ธฐ๋ปค์ง ๋ง ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ํ pip <19.0์์ ์ ์๋ํ๋ --no-cache-dir
๋ก Docker ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. ์ด๊ฑธ๋ฐ๋ ๋ค๋ฅธ ์ฌ๋ ์๋์?
Exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/usr/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/usr/lib/python3.6/site-packages/pip/_internal/wheel.py", line 886, in build
assert have_directory_for_build
AssertionError
์๋ก์ด 19.0.1 ๋ฒ์ ์์ ์๋ณด๊ณ ๊ธฐ๋ปค์ง ๋ง ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ํ pip <19.0์์ ์ ์๋ํ๋
--no-cache-dir
๋ก Docker ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. ์ด๊ฑธ๋ฐ๋ ๋ค๋ฅธ ์ฌ๋ ์๋์?
19.0.1์์ ์์ ์ด ์๋ํฉ๋๋ค. ํผ๋์ค๋ฌ์ด ๋์ปค ๋ ์ด์ด ์บ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๊น? -ํ์ฌ ์ฌ์ฉ์ค์ธ ๋ฒ์ ์ ํ์ธํ๋ ค๋ฉด pip --version
์ (๋ฅผ) ์๋ํ์ญ์์ค.
๋ชจ๋ Docker ํ์ผ์ Python ๋ฐ pip ๋ฒ์ ๊ฒ์ฌ๊ฐ ์์ผ๋ฉฐ 19.0.1์ด ์ฌ๋ฐ๋ฅด๊ฒ๋ณด๊ณ ๋ฉ๋๋ค.
@dmulter ์ค๋ ์์นจ Gist ์์ ๋ด Docker ์ด๋ฏธ์ง๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ๋น๋ํ์ผ๋ฉฐ v19.0.1
์ผ๋ก ์ ๋๋ก ์๋ํ๊ณ ์์ต๋๋ค. Dockerfile์ Gist๋ก ๊ณต์ ํ์ฌ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋ณผ ์ ์๋๋ก ํ ์ ์์ต๋๊น?
ํ์ธ์ ์ํด ๋ชจ๋ ๊ฒ์ ๋ค์ ์ฒญ์ํ์ต๋๋ค. ๋ค์์ Dockerfile ๊ณผ ๋ด ๋น๋ ์ถ๋ ฅ ์ ๋๋ค.
์ฌ์ฉ ๋ ๋์ปค ๋ช ๋ น์ ๋ํ ๋น๋ ์ถ๋ ฅ์ ๋ํ ๋ด ๋ฉ๋ชจ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
pip3์ ๋ํ ์์ ์ฌํญ์ด ์์ต๋๊น? ์ฌ๊ธฐ์ ๋ด๊ฐ ๊ฐ์ง ์ค๋ฅ๊ฐ ์์ต๋๋ค ...
> pip3 install --upgrade 'pip>=19.01' setuptools
Could not find a version that satisfies the requirement pip>=19.01 (from versions: 0.2, 0.2.1, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.8.2, 0.8.3, 1.0, 1.0.1, 1.0.2, 1.1, 1.2, 1.2.1, 1.3, 1.3.1, 1.4, 1.4.1, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.1.0, 6.1.1, 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.1.0, 7.1.1, 7.1.2, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.1.0, 8.1.1, 8.1.2, 9.0.0, 9.0.1, 9.0.2, 9.0.3, 10.0.0b1, 10.0.0b2, 10.0.0, 10.0.1, 18.0, 18.1, 19.0)
No matching distribution found for pip>=19.01
You are using pip version 10.0.1, however version 19.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
@MrAtheist ์์ ์คํ๊ฐ 19.0.1
์ด์ง๋ง 19.01
์์ฑ๋์์ต๋๋ค.
์ฃ์ก ํฉ๋๋ค๋ง, ์ด๋ ์ชฝ์ด๋ ๊ฐ๋ฅํ ๋ฒ์ ์๋ 19.0.1
๋ชฉ๋ก์ด ์์ต๋๋ค ... ยฏ_ (ใ) _ / ยฏ
@dmulter ์ฒ๋ผ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๋น๋ ์ถ๋ ฅ์์ โโ์ถ์ถ :
. venv/bin/activate; python -m pip install --upgrade pip; python -m pip install ndg_httpsclient; python -m pip install . -i https://xxxx.yyyy.com/simple --upgrade --no-cache-dir flask
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Requirement already up-to-date: pip in ./venv/lib/python2.7/site-packages (19.0.1)
...
Requirement already satisfied, skipping upgrade: pycparser in ./venv/lib/python2.7/site-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko<3.0,>=1.10->Fabric==1.14.0->conference-gll-load-test===0.0.1-SNAPSHOT) (2.19)
Exception:
Traceback (most recent call last):
File "/mnt/jenkins/workspace/venv/local/lib/python2.7/site-packages/pip/_internal/cli/base_command.py", line 176, in main
status = self.run(options, args)
File "/mnt/jenkins/workspace/venv/local/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 346, in run
session=session, autobuilding=True
File "/mnt/jenkins/workspace/venv/local/lib/python2.7/site-packages/pip/_internal/wheel.py", line 886, in build
assert have_directory_for_build
AssertionError
make: *** [install] Error 2
์ด์ ์ค๋ ๋์์ I๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋ฌผ์๋ค --no-use-pep517
๊ณผ ํจ๊ป --no-cache-dir
์ฌ๋๋ค์์ํ ์ผ ์๋ ํ ์์๊ฒ,ํ์ง๋ง ๋๋ ๋ต์ฅ์ ๋ณด์ง ๋ชปํ๋ค. ์ฌ์ ํ ์ต์
์ ๊ฒฝํํ๋ ์ฌ๋๋ค์ ์ํด ์๋ํด ๋ณผ ์ ์์ต๋๊น?
--no-use-pep517
์ต์
์ ์ถ๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๋ฒ์๋ฅผ ์ขํ๋ ๋ฐ ๋์์ด๋๋ ํฌ๋ง.
pip 19.0.1์ virtualenv์์ ๋๋ฅผ ์ํด ์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ Jenkins (Shining Panda) ๋ด๋ถ์์๋ ์ฌ์ ํ ์คํจํฉ๋๋ค. --no-use-pep517์ ์ถ๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
์ผ๋ถ ์ฌ๋๋ค์ด ์ฌ์ ํ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ค์ ์์ํฉ๋๋ค.
๋ํ --no-use-pep517
์์ pip 19.0.1๋ก ์
๊ทธ๋ ์ด๋ ํ ํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ ์์ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ ๋ชจ๋ ํ๋ก์ ํธ๊ฐ pip๊ฐ ์ ๋ฒ์ ์ ์ป์ ๋๋ง๋ค ์ ์ํด์ผํฉ๋๊น?
@pradyunsg ์ ์์ฒญ ์ ๋ฐ๋ผ 19.0.1 ๋ฆด๋ฆฌ์ค์ AssertionError
์ ํด๋นํ๋ ์๋ก์ด ๋ฌธ์ (https://github.com/pypa/pip/issues/6197)๋ฅผ ์ด์์ต๋๋ค. ๋ฒ์์ ์์ผ๋ฉฐ ์๋ก์ด ์กฐ์ฌ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋์ ์ ๋์ด ๋ฌธ์ ๋ฅผ ๋ค์ ๋ซ๊ณ ์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ง๊ธ์ pip ๋ฒ์ ์ ์์ ์ผ๋ก ๊ณ ์ ํ์ต๋๋ค.
pip install --upgrade pip==18.1
๋๋ FROM python:3.6-alpine
์ด FROM python:3.6.7-alpine
๋ณ๊ฒฝ ๋ ์ ์์ต๋๋ค.
์ด ์ค๋ ๋๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
pip 19.0.1์์ด ๋ฌธ์ ์ ๋ํ ์์ ์ผ๋ก ๋์์ต๋๋ค.