ç°å¢
dockerfileã§å®è¡ããŠããŸãã
説æ
次ã®ã³ãã³ãã¯pip18.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ã©ã®ããŒã¹ã€ã¡ãŒãžã䜿çšããŠããŸããïŒ pipv18.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
bash -c
ã§-l
ã䜿çšããã«ããŸãã¯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
åé¡ã¯assertã®å€±æã«ãããããenv PYTHONOPTIMIZE = 1ïŒãŸãã¯ãã©ã¡ãŒã¿ãŒ-OïŒãèšå®ãããšããã®ãšã©ãŒã¯ãªããªããŸãã
ã¡ããã©ããããã¹ãããŸããã
ãã®åé¿çã¯ãPythonãã³ãŒããæé©åããŠããã¹ãŠã®ã¢ãµãŒã·ã§ã³ãåé€ããããã«æ©èœããŸãã
= 2ïŒãŸãã¯-OOïŒãéžæããªãã§ãã ãããããã«ãããdocstringãåé€ãããä»ã®ãã¬ãŒã¹ããã¯ã衚瀺ãããŸããäžéšã®ã³ãŒãã¯ããããæäœããããšèããŠããŸãã
ãããåé¡ã«ãªãå¯èœæ§ãããããšã誰ããç¥ã£ãŠããããã§ãïŒãœãŒã¹ïŒïŒ
# 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ããã¯ãããåŒãèµ·ãããå¯èœæ§ã®ããé¢é£ããå€æŽã®ããã«èŠããŸããïŒ
ãããã¡ã³ããã¯ããã®é倧ãªå€æŽã«å¯ŸåŠããããã«ãæè¿ã®19ãªãªãŒã¹ãããŒã«ããã¯ããå¿
èŠãããããã§ãã
19.0ãªãªãŒã¹ããŒãïŒ https ïŒ
æŽæ°ïŒããã§ã¢ã¹ãã¯ã·ã§ã³ããã£ã¹ãããããšã¯ããŠããŸãããããªãªãŒã¹ãã¡ããã©èµ·ãã£ãã®ã§ãããã«ãã£ãŠåœ±é¿ãåãã人ã
ã®ãããã¯ããã°ãã解é€ãã1ã€ã®æ¹æ³ãšããŠææ¡ããŠããŸããã ããããã£ãã¯ã¹ã䜿çšããŠããŒã«ãã©ã¯ãŒãããããšãã§ããŸãã ãã®ããã·ã§ã³ã¯ãªãã£ã«ã«ãªããŒã«ããµããŒãããã³ãã¥ããã£ã®åªåã«æè¬ããééãããåŠã³ãå°æ¥ã®åé¡ãé²ãããã®äºåŸåæã«é¢ãã以äžã®ææ
ã«åæããŸãã ãã®éãç§ãã¡ã¯å
éšã§åãããšãããŠããŸããã€ãŸãããã¹ãŠã®å Žæã§pip
ããŒãžã§ã³ãèªç±ã«åºå®ããããšãæå³ããŸã:)
TODOã³ã¡ã³ããè¿œå ããPRã«ãããã®ã³ã¡ã³ããè¿ä¿¡ãããŠããŸãïŒ https ïŒ
ãã®ã³ã¡ã³ããšã PYTHONOPTIMIZE=1
ãæž¡ããšãšã©ãŒããªããªããšããäžèšã®ã³ã¡ã³ãã«åºã¥ããšãã¢ãµãŒã·ã§ã³ãåé€ããã ãã§æ£ããä¿®æ£ãè¡ãããå¯èœæ§ããããŸãïŒããŒã«ããã¯ã®åé¡ãšã¯é¢ä¿ãããŸããïŒã
ããããã®ã¢ãµãŒã·ã§ã³ãåé€ãããšãããã±ãŒãžã¯--no-cache-dir
æ£åžžã«ã€ã³ã¹ããŒã«ãããŸãã ãã®å Žåã«ã¯ãããã¯èšãã®Running setup.py install
ã®ä»£ããã«Building wheel
sdistã®ããã±ãŒãžã
ããã¯ç§ã®ãããžã§ã¯ãã«ãèµ·ãã£ãŠããŸãã ããã¯ãPython 3ããœãŒã¹ããã€ã³ã¹ããŒã«ããŠããFROM ubuntu:bionic
ãšFROM centos:centos7
ã§ãã«ããããDockerã€ã¡ãŒãžã§åçŸã§ããŸãïŒããã¯ããããã®Dockerã€ã¡ãŒãžã®äž¡æ¹ã§å€±æããäŸã瀺ãèŠç¹ã§ãã圹ã«ç«ã€ãããããŸããïŒã èŠæšã®äŸã®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
ãã©ã°ãç«ãŠãïŒãŸãã¯çŠæ¢ããïŒäºåã³ããããäºåããŒãžããŸãã¯äºåãªãªãŒã¹ãã§ãã¯äºåŸåæã«ãããPythonãããžã§ã¯ãã®ã³ã¢ã§ããpip
ãšåããããéèŠãªãœãããŠã§ã¢ã«ãå°æ¥ãã®èŠæš¡ã®ãã°ãå«ãŸããªãããã«ããããã«ãå€ãã®åœ¹ç«ã€æ¹åãããããããå¯èœæ§ããããŸãã
ãã®ãã°ãåçŸã§ããŸãã --no-cache-dirãåé€ãããšãä¿®æ£ãããŸãã Dockerã€ã¡ãŒãžã«@ 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
ïŒãªãã·ã§ã³ã䜿çšãããšãpipv19.0ã¯äœãã€ã³ã¹ããŒã«ã§ããŸããã
ãã®åé¡ã®ãã°ä¿®æ£ãšããŠïŒ6171ãæåºããŸããã ãã®ã¹ã¬ããã®äººã ã¯ãã®PRãè©ŠããŠããããå®éã«ãã®åé¡ãä¿®æ£ããããšã確èªã§ããŸããïŒ
PSïŒãã®åé¡ãè¿ éã«ä¿®æ£ããããã«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
åºå®ããªããšããäºå®ãèŠãã®ã¯è³¢æã ãšæããŸãè³ç£ãšããŠã®ããªãããšããããããŸããããšãã°ãç§ãåããŠããå Žæã§ã¯ãPythonèªäœãéåžžã¯å¹æçã«ãã€ããŒããŒãžã§ã³ã«åºå®ãããŠããŸããæ°ãããããããŒãžã§ã³ã¯èªåçã«ååŸãããŸããæ°ãããã«ãã«ãã£ãŠæ¡çšãããŸãããããã¯ããŠãŒã¶ãŒããããã®ã³ã¢ããŒã«ãšãã®ä¿å®æ§ã«å¯ŸããŠé«ãã¬ãã«ã®ä¿¡é Œãæã£ãŠããããšã瀺ããŠãããšæããŸããïŒ
ãã®ãããªäºä»¶ã¯ãã®ä¿¡é ŒãæãªããŸãã å£ããCIãã«ãã¯å®éã®åé¡ã§ã¯ãããŸããïŒããªããèšãããã«ãCIãã«ãã«pip
ãåºå®ããããäœãå±éºã«ããããŠããã®ããç¥ã£ãŠããå¿
èŠããããŸãïŒããçç¶ããŸãã¯ãããçžé¢ããèŠåã§ããããã¯ä¿¡é Œã䟵é£ããŸããã
ãã®ããããã®äºä»¶ã¯ããçš®ã®ïŒéé£ã®ãªãïŒæ»åŸã®ããã»ã¹ã«å€ãããšææ¡ããŸããã pip
ã¡ã³ããã¯ä»ã®ãšããæ°åãæªãã¯ãã¯ãããŸããããããã¯æ·±å»ãªåé¡ã§ãããæ¹åã®ããã«èª¿æ»ããå¿
èŠããããŸãã
ããããã®ãããªäºä»¶ã¯ä¿¡é Œãç¯ãã®ã«åœ¹ç«ã¡ãŸããã ããããåé¿ããæ¹æ³ãèŠã€ããããã«äºåŸåæãè¡ããŸãïŒåžžã«æ¹åã®äœå°ãããããããªãªãŒã¹ããšã«ãããè¡ããŸãïŒã
ïŒã»ãšãã©ïŒé©åãªè«è©±ãç¶æãã建èšçãªã³ã¡ã³ããããããšãïŒ éåžžããã®ãããªåé¡ããããšãç©äºã¯ç§ãã¡ã«ãšã£ãŠã¯ããã«è é£æ§ã«ãªããŸãã :)
ããã§ããªãã調æ»ãã¹ããã°ã¬ããŒããä»ã«ãããã€ãããããŸããªã19.0.1ã«ãªããŸãã
ããã§éèŠãªããšã¯ã --no-cache-dir
äžã§ãã«ãããããã®ååãªãã¹ãããªãããšãæããã«ããããšã ãšæããŸãã ãã®é åã§ã®è¿œå ã®ãã¹ãã¯ããã®ãããªãªã°ã¬ãã·ã§ã³ãåé¿ããã®ã«éåžžã«åœ¹ç«ã¡ãŸããããäžè¬çã«ã¯ãã©ã®ãäž»èŠãªãæ©èœãååã«ãã¹ããããŠããªããã確èªããããšã圹ç«ã¡ãŸãã
ãããã¡ã³ãããŒãšããŠãç§ãæ±ããŠããåé¡ã®1ã€ã¯ã人ã
ããéèŠãªãæ©èœãšèŠãªããŠãããã®ãç¥ãããšã ãšæããŸãã å人çã«ã¯ã --no-cache-dir
ã¯ããªããããã ãšæã£ãŠããã®ã§ããã®å Žåãæããã«ç§ã®çŽæã¯ä¿¡é Œã§ããŸãã:-)ãããã£ãŠããã®ãããªãã£ãŒãããã¯ã¯ç¹ã«äŸ¡å€ããããŸãã
ãã®ãã°ã®ããã ãã«19.0.1ã§ããã«ãªãªãŒã¹ã§ãããšæããŸããçµå±ã®ãšãããããã¯éèŠã§ç·æ¥ã§ãã å¥ã®ãã°ã¬ããŒãã¯ã19.0.2ã§ç¿æ¥è§£æ±ºã§ããŸãã
ãããã¡ã³ãããŒãšããŠãç§ãæ±ããŠããåé¡ã®1ã€ã¯ã人ã ããéèŠãªãæ©èœãšèŠãªããŠãããã®ãç¥ãããšã ãšæããŸãã å人çã«ã¯ã
--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ãæ¯èŒçããã«ãªãªãŒã¹ããããšæããŸãã
å«ãå Žåãç§ã¯èå³ã--no-use-pep517
äžç·ã«--no-cache-dir
ãããã¯å¥ã®PEP 517ã®é¢é£ã®åé¡ã®ããã§ãããšããŠãå¥ã®åé¿çãã®åé¡ã®æ¬¡ã®ãšããã§ãã https://github.com/pypa/pip / issues / 6163ïŒissuecomment -456772043
ãããã¡ã³ãããŒãšããŠãç§ãæ±ããŠããåé¡ã®1ã€ã¯ã人ã ããéèŠãªãæ©èœãšèŠãªããŠãããã®ãç¥ãããšã ãšæããŸãã å人çã«ã¯ã-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ã§æ©èœããŠããŸã-æ··ä¹±ããŠããDockerã¬ã€ã€ãŒãã£ãã·ã¥ããããšæããŸããïŒ - pip --version
ãè©ŠããŠãçŸåšã®ããŒãžã§ã³ã確èªããŠãã ãã
ãã¹ãŠã®Dockerãã¡ã€ã«ã«Pythonãšpipã®ããŒãžã§ã³ãã§ãã¯ãããã19.0.1ãæ£ããå ±åãããŸãã
@dmulterä»æãGistã§Dockerã€ã¡ãŒãžv19.0.1
ãŸãã DockerfileãGistã§å
±æããŠãå
šå¡ã確èªã§ããããã«ããããšã¯ã§ããŸããïŒ
念ã®ããããã¹ãŠãããäžåºŠæé€ããŸããã ãããDockerfileãšç§ã®ãã«ãåºåã§ãã
䜿çšãããdockerã³ãã³ãã®ãã«ãåºåã«é¢ããç§ã®ã¡ã¢ãåç §ããŠãã ããã
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
ã¹ã¬ããã®ååã§ã --no-use-pep517
ã--no-cache-dir
ãšäžç·ã«å«ãããšã人ã
ã«ãšã£ãŠããŸããããã©ãããå°ããŸããããè¿ä¿¡ããããŸããã§ããã ãŸã ãªãã·ã§ã³ãçµéšããŠãã人ã
ã®ããã«ãããªãã¯ãããè©Šãããšãã§ããŸããïŒ
--no-use-pep517
ãªãã·ã§ã³ãè¿œå ãããšãåé¡ã解決ããŸããã ãããç©äºãçµã蟌ãã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ä»®æ³ç°å¢ã§ç§ã®ããã«åããŠããpip19.0.1ã ããããJenkinsïŒShining PandaïŒã®å éšã§ã¯ãŸã 倱æããŠããŸãã --no-use-pep517ãè¿œå ãããšãåé¡ãä¿®æ£ãããŸã
äžéšã®äººã ããŸã åãåé¡ãçµéšããŠããã®ã§ãç§ã¯åéããŠããŸãã
ãŸããpip 19.0.1ã«ã¢ããã°ã¬ãŒãããåŸã --no-use-pep517
ã§åé¡ãä¿®æ£ãããããšã確èªã§ããŸãã
ãããã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ã¯ããã®åé¡ã®ä¿®æ£ãšãšãã«ãªãªãŒã¹ãããŠããŸãã