Pipenv: tensorflow/html5lib "์ข…์†์„ฑ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค" ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2018๋…„ 03์›” 13์ผ  ยท  52์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pipenv

$ pipenv install --dev
Pipfile.lock not found, creatingโ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ œ์•ˆํ•œ ๋Œ€๋กœ ํ–ˆ๋‹ค: pipenv install --skip-lock ๊ทธ๋ฆฌ๊ณ  pipenv graph

๊ทธ๋ž˜ํ”„ ์‡ผ๋ฅผ ์š”์ฒญํ•˜๋Š” ์œ ์ผํ•œ ํŒจํ‚ค์ง€๋Š” html5lib ์˜ ์ข…์†๋˜์–ด tensorflow , ๊ทธ๋“ค์€ ์„œ๋กœ ๋˜๋Š” ์„ค์น˜ ๋ฒ„์ „๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ :

tensorflow==1.3.0
  - numpy [required: >=1.11.0, installed: 1.14.1]
  - protobuf [required: >=3.3.0, installed: 3.5.2]
    - setuptools [required: Any, installed: 38.5.1]
    - six [required: >=1.9, installed: 1.11.0]
  - six [required: >=1.10.0, installed: 1.11.0]
  - tensorflow-tensorboard [required: >=0.1.0,<0.2.0, installed: 0.1.8]
    - bleach [required: ==1.5.0, installed: 1.5.0]
      - html5lib [required: >=0.999,<0.99999999,!=0.9999,!=0.99999, installed: 0.9999999]
        - six [required: Any, installed: 1.11.0]
      - six [required: Any, installed: 1.11.0]
    - html5lib [required: ==0.9999999, installed: 0.9999999]
      - six [required: Any, installed: 1.11.0]
    - markdown [required: >=2.6.8, installed: 2.6.11]
    - numpy [required: >=1.11.0, installed: 1.14.1]
    - protobuf [required: >=3.2.0, installed: 3.5.2]
      - setuptools [required: Any, installed: 38.5.1]
      - six [required: >=1.9, installed: 1.11.0]
    - six [required: >=1.10.0, installed: 1.11.0]
    - werkzeug [required: >=0.11.10, installed: 0.14.1]
    - wheel [required: >=0.26, installed: 0.30.0]
  - wheel [required: >=0.26, installed: 0.30.0]

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

html5lib [required: >=0.999,<0.99999999,!=0.9999,!=0.99999, installed: 0.9999999]

๊ทธ๋ฆฌ๊ณ 

html5lib [required: ==0.9999999, installed: 0.9999999]

๊ทธ ํŒจํ‚ค์ง€๋Š” ๊ฝค ๋”์ฐํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ํ•„์š”ํ•œ ๋ฒ„์ „์€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜๋Š” 0.9999999 (7๊ฐœ์˜ 0, ์šฐ๋ฆฌ๊ฐ€ ์„ค์น˜ํ•œ ๊ฒƒ)์ด ํ•„์š”ํ•˜๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” <0.99999999 (8๊ฐœ์˜ 0)์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ดœ์ฐฎ์„๊ฑฐ์•ผ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์–ด๋จธ ์ด๊ฒŒ ์ง„์งœ์•ผ

๋ชจ๋“  52 ๋Œ“๊ธ€

์–ด๋จธ ์ด๊ฒŒ ์ง„์งœ์•ผ

๊ฒŒ๋‹ค๊ฐ€ ์ด ์ด์ƒํ•œ ๋ฒ„์ „์—๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

$ pipenv check
Checking PEP 508 requirementsโ€ฆ
Passed!
Checking installed package safetyโ€ฆ
25846: html5lib <0.99999999 resolved (0.9999999 installed)!
html5lib before 0.99999999 is vulnerable to a XSS attack. Upgrading avoids the XSS bug potentially caused by serializer allowing attribute values to be escaped out of in old browser versions, changing the quote_attr_values option on serializer to take one of three values, "always" (the old True value), "legacy" (the new option,  and the new default), and "spec" (the old False value, and the old default).

35693: html5lib <0.99999999 resolved (0.9999999 installed)!
The serializer in html5lib before 0.99999999 might allow remote attackers to conduct cross-site scripting (XSS) attacks by leveraging mishandling of the < (less than) character in attribute values.

35694: html5lib <0.99999999 resolved (0.9999999 installed)!
The serializer in html5lib before 0.99999999 might allow remote attackers to conduct cross-site scripting (XSS) attacks by leveraging mishandling of special characters in attribute values, a different vulnerability than CVE-2016-9909.

34965: bleach <2.1 resolved (1.5.0 installed)!
bleach 2.1 converts control characters (backspace particularly) to "?" preventing malicious copy-and-paste situations.

๋ฌธ์ œ ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Could not find a version that matches html5lib...==0.9999999,>=0.99999999pre

>=0.99999999pre ์ง€์ •์ž๊ฐ€ ์–ด๋””์—์„œ ์™”๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฉฐ pipenv graph ์ถœ๋ ฅ์— ์–ธ๊ธ‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํžˆ bleach ํŒจํ‚ค์ง€์—์„œ ์ œ๊ณต๋˜์ง€๋งŒ ์„ค์น˜๋œ ๋ฒ„์ „์€ ์•„๋‹™๋‹ˆ๋‹ค.

bleach [required: ==1.5.0, installed: 1.5.0]

๋น„๊ตํ•˜๋‹ค:
https://github.com/mozilla/bleach/blob/v1.5/setup.py

https://github.com/mozilla/bleach/blob/v2.1.3/setup.py

ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด PyPI ์—์„œ

setup.py์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

install_requires = [
    'six',
    # 3 9s up to but not including 8 9s, but not 4 9s or 5 9s because they're
    # busted
    'html5lib>=0.999,!=0.9999,!=0.99999,<0.99999999',
]

๊ทธ๋Ÿฌ๋‚˜ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ PyPI ํŽ˜์ด์ง€์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋Š” ์ตœ์‹  ๋ฒ„์ „์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค(๋‹น์—ฐํžˆ).

๋ฐฐํฌ ํ•„์š”
html5lib(!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre)
์œก

์—ฌ๊ธฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์œ„์— ๋งํฌ๋œ ํ…์„œ๋ณด๋“œ ๋ฌธ์ œ ์Šค๋ ˆ๋“œ๋ฅผ ๋” ์ฝ๊ณ ...

๋ฌธ์ œ๋ฅผ ๋” ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด pip ์—๋Š” html5lib ์˜ ์ž์ฒด ๊ณต๊ธ‰์—…์ฒด ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/pypa/pip/blob/9.0.1/pip/_vendor/html5lib/__init__.py
https://github.com/pypa/pip/blob/9.0.1/pip/_vendor/vendor.txt

html5lib==1.0b10

๊ทธ๊ฒƒ์ด ์–ด๋–ค ๋”์ฐํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ์ตœ์‹ ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด ํ”„๋กœ์ ํŠธ์˜ pipenv ์…ธ ์•ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค.

pipenv, version 11.6.1
pip 9.0.1
python 3.6

PyPI์˜ ํ‘œ๋ฐฑ์ œ 1.5.0 _wheel_ ๋‚ด๋ถ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

๋ณด๊ณ ๋œ ์ถฉ๋Œ:

Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre

๋Œ€์‹  _latest_(2.1.3) ๋ฒ„์ „์˜ ํ‘œ๋ฐฑ์ œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

install_requires = [
    'six',
    # >= 8 9s because of breaking API change
    # the 'pre' suffix is needed for supporting '1.0b*' versions
    'html5lib>=0.99999999pre,!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8',
]

tensorboard https://github.com/tensorflow/tensorboard/blob/0.1.8/tensorboard/pip_package/setup.py ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ์ถ”๊ฐ€๋จ

REQUIRED_PACKAGES = [
    'numpy >= 1.11.0',
    'six >= 1.10.0',
    'protobuf >= 3.2.0',
    'werkzeug >= 0.11.10',
    'html5lib == 0.9999999',  # identical to 1.0b8
    'markdown >= 2.6.8',
    'bleach == 1.5.0',
]

ํ‘œ๋ฐฑ์ œ==1.5.0์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ฒฐ์ •ํ•  ๋•Œ ์ด์ƒํ•œ ์ผ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. pipenv install ๋Š” ์ข…์†์„ฑ์ด cryptography<1.0,>=1.7.2,>=1.8.1,>=1.8.2,>=1.9 ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ๋ถˆํ‰ํ•˜์ง€๋งŒ (๋ถ„๋ช…ํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Œ) cryptography<1.0 ์—์„œ pipenv graph cryptography<1.0 ๊ฐ€ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ „ํ˜€ ์„ค์น˜๊ฐ€ ๋˜์ง€ ์•Š์•„์„œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

@skorokithakis ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”

@anentropic ์ตœ์‹  ๋ฒ„์ „์˜ pipenv๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

@anentropic ๋˜ํ•œ pipenv ์…ธ _inside_์—์„œ pipenv๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์€ ์ž‘๋™ํ•˜๋„๋ก ์˜๋„๋œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. _outside_ pipenv ์…ธ์—์„œ ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ณ  ์—ฌ์ „ํžˆ ์†์ƒ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

@techalchemy ๊ทธ๋ ‡๊ตฐ์š” .

๋ง ๊ทธ๋Œ€๋กœ ์ด ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ๋””์ž์ธ ์›์น™์ž…๋‹ˆ๋‹ค.

์ข‹์•„, ๋‚˜๋Š” pipenv 11.6.1 --> 11.6.9๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ๋‹ค

๊ฐ™์€ ๋ฌธ์ œ

$ pipenv --version
pipenv, version 11.6.9
$ pipenv lock
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

์ด ๋ฒ„์ „ ๋ฒˆํ˜ธ๋กœ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ๊ณง ๋ฐ”๋€” ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†๋‹ค๊ณ  ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก , ๋‚˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ณ„์† ์กฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ๋” ์ž์„ธํ•œ ์ •๋ณด:

  • ํ˜„์žฌ Pipfile.lock์ด ์—†์Šต๋‹ˆ๋‹ค(์ƒ์„ฑํ•  ์ˆ˜ ์—†์Œ).
  • ๋‚ด pipenv ์…ธ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์—ฐ๊ฒฐ๋œ virtualenv ํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ณ  pipenv install ์‹คํ–‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค(์ฆ‰, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘)... ๋™์ผํ•œ ๋ฌธ์ œ

๋‚˜๋Š” ๋˜ํ•œ ์ตœ์†Œํ•œ์˜ ์˜ˆ์ œ๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... ์ƒˆ ์…ธ์—์„œ ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ Pipfile์„ ์‹คํ–‰ํ•˜๊ณ  pipenv install

[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]

tensorflow = "*"


[requires]

python_version = "3.6"

pipenv lock --verbose ๋Š” ์ด ์ ์„ ๋ถ„๋ช…ํžˆ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

==0.9999999,>=0.99999999pre ์€(๋Š”) ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „ ์ฒด๊ณ„๋Š” ํ„ฐ๋ฌด๋‹ˆ์—†๋‹ค

์š”์ ์€ >=0.99999999pre ์š”๊ตฌ ์‚ฌํ•ญ์ด bleach==1.5.0 ๊ธฐ์ธํ•˜์ง€๋งŒ ํ•ด๋‹น ๋ฒ„์ „์˜ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” ํ•ด๋‹น ์ข…์†์„ฑ์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

pipenv ๋˜๋Š” ๊ธฐ๋ณธ ๋„๊ตฌ๊ฐ€ ์–ด๋””์—์„œ ์ข…์†์„ฑ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. PyPI ์„œ๋ฒ„๊ฐ€ ์–ด๋–ป๊ฒŒ๋“  ๊ฑฐ์ง“๋ง์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ž์„ธํ•œ ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Locking [dev-packages] dependenciesโ€ฆ
Using pip: -i https://pypi.python.org/simple

                          ROUND 1
Current constraints:

Finding the best candidates:

Finding secondary dependencies:
------------------------------------------------------------
Result of round 1: stable, done

Locking [packages] dependenciesโ€ฆ
Using pip: -i https://pypi.python.org/simple

                          ROUND 1
Current constraints:
  tensorflow

Finding the best candidates:
  found candidate tensorflow==1.6.0 (constraint was <any>)

Finding secondary dependencies:
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26

New dependencies found in this round:
  adding ['absl-py', '>=0.1.6', '[]']
  adding ['astor', '>=0.6.0', '[]']
  adding ['gast', '>=0.2.0', '[]']
  adding ['grpcio', '>=1.8.6', '[]']
  adding ['numpy', '>=1.13.3', '[]']
  adding ['protobuf', '>=3.4.0', '[]']
  adding ['six', '>=1.10.0', '[]']
  adding ['tensorboard', '<1.7.0,>=1.6.0', '[]']
  adding ['termcolor', '>=1.1.0', '[]']
  adding ['wheel', '>=0.26', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  gast>=0.2.0
  grpcio>=1.8.6
  numpy>=1.13.3
  protobuf>=3.4.0
  six>=1.10.0
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)
  found candidate numpy==1.14.2 (constraint was >=1.13.3)
  found candidate protobuf==3.5.2 (constraint was >=3.4.0)
  found candidate six==1.11.0 (constraint was >=1.10.0)
  found candidate tensorboard==1.6.0 (constraint was >=1.6.0,<1.7.0)
  found candidate tensorflow==1.6.0 (constraint was <any>)
  found candidate termcolor==1.1.0 (constraint was >=1.1.0)
  found candidate wheel==0.30.0 (constraint was >=0.26)

Finding secondary dependencies:
  absl-py==0.1.11           requires six
  wheel==0.30.0             requires -
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26
  termcolor==1.1.0          requires -
  tensorboard==1.6.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"
  protobuf==3.5.2           requires setuptools, six>=1.9
  gast==0.2.0               requires -
  astor==0.6.2              requires -
  numpy==1.14.2             requires -
  grpcio==1.10.0            requires protobuf>=3.5.0.post1, six>=1.5.2
  six==1.11.0               requires -

New dependencies found in this round:
  adding ['bleach', '==1.5.0', '[]']
  adding ['html5lib', '==0.9999999', '[]']
  adding ['markdown', '>=2.6.8', '[]']
  adding ['numpy', '>=1.12.0,>=1.13.3', '[]']
  adding ['protobuf', '>=3.4.0,>=3.5.0.post1', '[]']
  adding ['six', '>=1.10.0,>=1.5.2,>=1.9', '[]']
  adding ['werkzeug', '>=0.11.10', '[]']
Removed dependencies in this round:
  removing ['numpy', '>=1.13.3', '[]']
  removing ['protobuf', '>=3.4.0', '[]']
  removing ['six', '>=1.10.0', '[]']
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  bleach==1.5.0
  gast>=0.2.0
  grpcio>=1.8.6
  html5lib==0.9999999
  markdown>=2.6.8
  numpy>=1.12.0,>=1.13.3
  protobuf>=3.4.0,>=3.5.0.post1
  six>=1.10.0,>=1.5.2,>=1.9
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate bleach==1.5.0 (constraint was ==1.5.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)
  found candidate html5lib==0.9999999 (constraint was ==0.9999999)
  found candidate markdown==2.6.11 (constraint was >=2.6.8)
  found candidate numpy==1.14.2 (constraint was >=1.12.0,>=1.13.3)
  found candidate protobuf==3.5.2 (constraint was >=3.4.0,>=3.5.0.post1)
  found candidate six==1.11.0 (constraint was >=1.10.0,>=1.5.2,>=1.9)
  found candidate tensorboard==1.6.0 (constraint was >=1.6.0,<1.7.0)
  found candidate tensorflow==1.6.0 (constraint was <any>)
  found candidate termcolor==1.1.0 (constraint was >=1.1.0)
  found candidate werkzeug==0.14.1 (constraint was >=0.11.10)
  found candidate wheel==0.30.0 (constraint was >=0.26)

Finding secondary dependencies:
  numpy==1.14.2             requires -
  werkzeug==0.14.1          requires -
  absl-py==0.1.11           requires six
  html5lib==0.9999999       requires six>=1.9, webencodings
  gast==0.2.0               requires -
  bleach==1.5.0             requires html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre, six
  protobuf==3.5.2           requires setuptools, six>=1.9
  markdown==2.6.11          requires -
  six==1.11.0               requires -
  tensorboard==1.6.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26
  astor==0.6.2              requires -
  termcolor==1.1.0          requires -
  grpcio==1.10.0            requires protobuf>=3.5.0.post1, six>=1.5.2

New dependencies found in this round:
  adding ['html5lib', '!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre', '[]']
  adding ['webencodings', '', '[]']
Removed dependencies in this round:
  removing ['html5lib', '==0.9999999', '[]']
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 3: not stable

                          ROUND 4
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  bleach==1.5.0
  gast>=0.2.0
  grpcio>=1.8.6
  html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
  markdown>=2.6.8
  numpy>=1.12.0,>=1.13.3
  protobuf>=3.4.0,>=3.5.0.post1
  six>=1.10.0,>=1.5.2,>=1.9
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  webencodings
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate bleach==1.5.0 (constraint was ==1.5.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)
Using pip: -i https://pypi.python.org/simple

                          ROUND 1
Current constraints:
  tensorflow

Finding the best candidates:
  found candidate tensorflow==1.6.0 (constraint was <any>)

Finding secondary dependencies:
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26

New dependencies found in this round:
  adding ['absl-py', '>=0.1.6', '[]']
  adding ['astor', '>=0.6.0', '[]']
  adding ['gast', '>=0.2.0', '[]']
  adding ['grpcio', '>=1.8.6', '[]']
  adding ['numpy', '>=1.13.3', '[]']
  adding ['protobuf', '>=3.4.0', '[]']
  adding ['six', '>=1.10.0', '[]']
  adding ['tensorboard', '<1.7.0,>=1.6.0', '[]']
  adding ['termcolor', '>=1.1.0', '[]']
  adding ['wheel', '>=0.26', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  gast>=0.2.0
  grpcio>=1.8.6
  numpy>=1.13.3
  protobuf>=3.4.0
  six>=1.10.0
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)
  found candidate numpy==1.14.2 (constraint was >=1.13.3)
  found candidate protobuf==3.5.2 (constraint was >=3.4.0)
  found candidate six==1.11.0 (constraint was >=1.10.0)
  found candidate tensorboard==1.6.0 (constraint was >=1.6.0,<1.7.0)
  found candidate tensorflow==1.6.0 (constraint was <any>)
  found candidate termcolor==1.1.0 (constraint was >=1.1.0)
  found candidate wheel==0.30.0 (constraint was >=0.26)

Finding secondary dependencies:
  astor==0.6.2              requires -
  six==1.11.0               requires -
  tensorboard==1.6.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"
  numpy==1.14.2             requires -
  grpcio==1.10.0            requires protobuf>=3.5.0.post1, six>=1.5.2
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26
  wheel==0.30.0             requires -
  protobuf==3.5.2           requires setuptools, six>=1.9
  termcolor==1.1.0          requires -
  absl-py==0.1.11           requires six
  gast==0.2.0               requires -

New dependencies found in this round:
  adding ['bleach', '==1.5.0', '[]']
  adding ['html5lib', '==0.9999999', '[]']
  adding ['markdown', '>=2.6.8', '[]']
  adding ['numpy', '>=1.12.0,>=1.13.3', '[]']
  adding ['protobuf', '>=3.4.0,>=3.5.0.post1', '[]']
  adding ['six', '>=1.10.0,>=1.5.2,>=1.9', '[]']
  adding ['werkzeug', '>=0.11.10', '[]']
Removed dependencies in this round:
  removing ['numpy', '>=1.13.3', '[]']
  removing ['protobuf', '>=3.4.0', '[]']
  removing ['six', '>=1.10.0', '[]']
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 2: not stable

                          ROUND 3
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  bleach==1.5.0
  gast>=0.2.0
  grpcio>=1.8.6
  html5lib==0.9999999
  markdown>=2.6.8
  numpy>=1.12.0,>=1.13.3
  protobuf>=3.4.0,>=3.5.0.post1
  six>=1.10.0,>=1.5.2,>=1.9
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate bleach==1.5.0 (constraint was ==1.5.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)
  found candidate html5lib==0.9999999 (constraint was ==0.9999999)
  found candidate markdown==2.6.11 (constraint was >=2.6.8)
  found candidate numpy==1.14.2 (constraint was >=1.12.0,>=1.13.3)
  found candidate protobuf==3.5.2 (constraint was >=3.4.0,>=3.5.0.post1)
  found candidate six==1.11.0 (constraint was >=1.10.0,>=1.5.2,>=1.9)
  found candidate tensorboard==1.6.0 (constraint was >=1.6.0,<1.7.0)
  found candidate tensorflow==1.6.0 (constraint was <any>)
  found candidate termcolor==1.1.0 (constraint was >=1.1.0)
  found candidate werkzeug==0.14.1 (constraint was >=0.11.10)
  found candidate wheel==0.30.0 (constraint was >=0.26)

Finding secondary dependencies:
  protobuf==3.5.2           requires setuptools, six>=1.9
  html5lib==0.9999999       requires six>=1.9, webencodings
  gast==0.2.0               requires -
  bleach==1.5.0             requires html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre, six
  tensorflow==1.6.0         requires absl-py>=0.1.6, astor>=0.6.0, gast>=0.2.0, grpcio>=1.8.6, numpy>=1.13.3, protobuf>=3.4.0, six>=1.10.0, tensorboard<1.7.0,>=1.6.0, termcolor>=1.1.0, wheel>=0.26
  markdown==2.6.11          requires -
  termcolor==1.1.0          requires -
  astor==0.6.2              requires -
  numpy==1.14.2             requires -
  six==1.11.0               requires -
  absl-py==0.1.11           requires six
  tensorboard==1.6.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"
  grpcio==1.10.0            requires protobuf>=3.5.0.post1, six>=1.5.2
  wheel==0.30.0             requires -
  werkzeug==0.14.1          requires -

New dependencies found in this round:
  adding ['html5lib', '!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre', '[]']
  adding ['webencodings', '', '[]']
Removed dependencies in this round:
  removing ['html5lib', '==0.9999999', '[]']
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 3: not stable

                          ROUND 4
Current constraints:
  absl-py>=0.1.6
  astor>=0.6.0
  bleach==1.5.0
  gast>=0.2.0
  grpcio>=1.8.6
  html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
  markdown>=2.6.8
  numpy>=1.12.0,>=1.13.3
  protobuf>=3.4.0,>=3.5.0.post1
  six>=1.10.0,>=1.5.2,>=1.9
  tensorboard<1.7.0,>=1.6.0
  tensorflow
  termcolor>=1.1.0
  webencodings
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate absl-py==0.1.11 (constraint was >=0.1.6)
  found candidate astor==0.6.2 (constraint was >=0.6.0)
  found candidate bleach==1.5.0 (constraint was ==1.5.0)
  found candidate gast==0.2.0 (constraint was >=0.2.0)
  found candidate grpcio==1.10.0 (constraint was >=1.8.6)

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

์ด๋ด, ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†์„๊ฑฐ์•ผ.

11.8.0 ์‹œ๋„

์„ฑ๊ณต!

django ๋ฐ django_pyodbc_azure์—์„œ ๋น„์Šทํ•œ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋ฒ„์ „ <2๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pipenv install django<2 django-pyodbc-azure<2

๋‚ด๊ฐ€ ์–ป๋Š” ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Installing django<2โ€ฆ
Collecting django<2
  Using cached Django-1.11.11-py2.py3-none-any.whl
Collecting pytz (from django<2)
  Using cached pytz-2018.3-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-1.11.11 pytz-2018.3

Adding django<2 to Pipfile's [packages]โ€ฆ
Installing django-pyodbc-azure<2โ€ฆ
Collecting django-pyodbc-azure<2
  Using cached django_pyodbc_azure-1.11.11.0-py2.py3-none-any.whl
Collecting pyodbc>=3.0 (from django-pyodbc-azure<2)
  Using cached pyodbc-4.0.22-cp36-cp36m-win_amd64.whl
Requirement already satisfied: Django<2.0,>=1.11.11 in c:\users\msopko\.virtualenvs\kml_internal--4e53ydp\lib\site-packages (from django-pyodbc-azure<2)
Requirement already satisfied: pytz in c:\users\msopko\.virtualenvs\kml_internal--4e53ydp\lib\site-packages (from Django<2.0,>=1.11.11->django-pyodbc-azure<2)
Installing collected packages: pyodbc, django-pyodbc-azure
Successfully installed django-pyodbc-azure-1.11.11.0 pyodbc-4.0.22

Adding django-pyodbc-azure<2 to Pipfile's [packages]โ€ฆ
Pipfile.lock not found, creatingโ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches django<2,<2.1,>=2.0.3
Tried: 1.1.3, 1.1.4, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4.10, 1.4.11, 1.4.12, 1.4.13, 1.4.14, 1.4.15, 1.4.16, 1.4.17, 1.4.18, 1.4.19, 1.4.20, 1.4.21, 1.4.22, 1.5, 1.5.1, 1.5.2, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.8, 1.5.9, 1.5.10, 1.5.11, 1.5.12, 1.5.12, 1.6, 1.6, 1.6.1, 1.6.1, 1.6.2, 1.6.2, 1.6.3, 1.6.3, 1.6.4, 1.6.4, 1.6.5, 1.6.5, 1.6.6, 1.6.6, 1.6.7, 1.6.7, 1.6.8, 1.6.8, 1.6.9, 1.6.9, 1.6.10, 1.6.10, 1.6.11, 1.6.11, 1.7, 1.7, 1.7.1, 1.7.1, 1.7.2, 1.7.2, 1.7.3, 1.7.3, 1.7.4, 1.7.4, 1.7.5, 1.7.5, 1.7.6, 1.7.6, 1.7.7, 1.7.7, 1.7.8, 1.7.8, 1.7.9, 1.7.9, 1.7.10, 1.7.10, 1.7.11, 1.7.11, 1.8a1, 1.8b1, 1.8b2, 1.8rc1, 1.8, 1.8, 1.8.1, 1.8.1, 1.8.2, 1.8.2, 1.8.3, 1.8.3, 1.8.4, 1.8.4, 1.8.5, 1.8.5, 1.8.6, 1.8.6, 1.8.7, 1.8.7, 1.8.8, 1.8.8, 1.8.9, 1.8.9, 1.8.10, 1.8.10, 1.8.11, 1.8.11, 1.8.12, 1.8.12, 1.8.13, 1.8.13, 1.8.14, 1.8.14, 1.8.15, 1.8.15, 1.8.16, 1.8.16, 1.8.17, 1.8.17, 1.8.18, 1.8.18, 1.8.19, 1.8.19, 1.9a1, 1.9b1, 1.9rc1, 1.9rc2, 1.9, 1.9, 1.9.1, 1.9.1, 1.9.2, 1.9.2, 1.9.3, 1.9.3, 1.9.4, 1.9.4, 1.9.5, 1.9.5, 1.9.6, 1.9.6, 1.9.7, 1.9.7, 1.9.8, 1.9.8, 1.9.9, 1.9.9, 1.9.10, 1.9.10, 1.9.11, 1.9.11, 1.9.12, 1.9.12, 1.9.13, 1.9.13, 1.10a1, 1.10a1, 1.10b1, 1.10b1, 1.10rc1, 1.10rc1, 1.10, 1.10, 1.10.1, 1.10.1, 1.10.2, 1.10.2, 1.10.3, 1.10.3, 1.10.4, 1.10.4, 1.10.5, 1.10.5, 1.10.6, 1.10.6, 1.10.7, 1.10.7, 1.10.8, 1.10.8, 1.11a1, 1.11b1, 1.11rc1, 1.11rc1, 1.11, 1.11, 1.11.1, 1.11.1, 1.11.2, 1.11.2, 1.11.3, 1.11.3, 1.11.4, 1.11.4, 1.11.5, 1.11.5, 1.11.6, 1.11.6, 1.11.7, 1.11.7, 1.11.8, 1.11.8, 1.11.9, 1.11.9, 1.11.10, 1.11.10, 1.11.11, 1.11.11, 2.0a1, 2.0b1, 2.0rc1, 2.0, 2.0, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3

๋ถ„๊ธฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
django-pyodbc-azure = {git = "https://github.com/michiya/django-pyodbc-azure", ref = "azure-1.11"}

11.8.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ๋™๋ฃŒ๋Š” ๋‚ด ์ตœ์†Œํ•œ์˜ ์˜ˆ์—์„œ ๊ทธ๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋””๋ฒ„๊น… ์ค‘์ด๋ฉฐ ์ผ๋ถ€ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๊ฒŒ์‹œํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ข‹์•„, ์ด์ƒํ•ด

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ž‘๋™์‹œ์ผฐ๋‹ค:

$ pyenv virtualenv pipenvtemp
$ pyenv activate pipenvtemp
pipenvtemp > $ pip install pipenv
pipenvtemp > $ pipenv lock

์ด๊ฒƒ์€ ์ด์ œ pipenv์˜ '์™ธ๋ถ€' ์„ค์น˜๋ฅผ ์†์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

pipenvtemp > $ source deactivate
$ pipenv lock
pyenv: pipenv: command not found

The `pipenv' command exists in these Python versions:
  2.7.11/envs/pipenvtemp
  pipenvtemp

$ pipsi install pipenv
pipenv is already installed

๊ทธ๋ž˜์„œ ๋‚ด ์‹œ์Šคํ…œ์—์„œ pyenv-virtualenv, pipsi ๋ฐ pipenv ์‚ฌ์ด์— ๋”์ฐํ•œ ์ƒํ˜ธ ์ž‘์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ์ง€์นจ์„ ์ถฉ์‹คํžˆ ๋”ฐ๋ž๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์‹œ์Šคํ…œ์˜ ๊ธฐ์กด ์ƒํƒœ๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋ชจ๋“  Python์„ ๋‚ ๋ ค ๋ฒ„๋ฆฌ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜ข

์˜ค, ์–ด๋–ป๊ฒŒ ๋“  python 3์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์œ„์˜ pyenv-virtualenv ํŠธ๋ฆญ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ตœ์†Œํ•œ์˜ ์˜ˆ์ œ๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•˜์ง€๋งŒ 2.7 ๋Œ€์‹  Python 3.6.4๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

$ pyenv virtualenv 3.6.4 pipenvtemp-py3
$ pyenv activate pipenvtemp-py3
pipenvtemp-py3 > $ pip install pipenv
pipenvtemp-py3 > $ rm Pipfile.lock
pipenvtemp-py3 > $ pipenv lock
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project.
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

@anentropic ๋‹น์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  pipenvs๋ฅผ ์–ด๋””์—์„œ๋‚˜ ์ œ๊ฑฐํ•˜๊ณ  --user ์™€ ํ•จ๊ป˜ ์‹œ์Šคํ…œ 3.6.4๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.

๊ธ€์Ž„, ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ผ์–ด๋‚ฌ๋Š”์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ธฐ๋ณธ ์ฝ”๋“œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค.

from pipenv.patched.piptools.repositories import PyPIRepository
from pipenv.patched.piptools.scripts.compile import get_pip_command
from pipenv.patched.notpip.req.req_install import InstallRequirement
from pipenv.patched.piptools.resolver import Resolver

pip_command = get_pip_command()
pip_options, _ = pip_command.parse_args([])
session = pip_command._build_session(pip_options)
pypi = PyPIRepository(pip_options=pip_options, use_json=False, session=session)

# first observe that this returns correct constraints:
ireq = InstallRequirement.from_line('bleach==1.5.0')
pypi.get_dependencies(ireq)
{<InstallRequirement object: six (from bleach==1.5.0) editable=False>,
 <InstallRequirement object: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 (from bleach==1.5.0) editable=False>}

# I added the following breakpoint at pipenv/patched/piptools/resolver.py:200
            if str(best_match.req) == 'bleach==1.5.0':
                import ipdb; ipdb.set_trace()

# then ran the resolver:
ireq = InstallRequirement.from_line('tensorflow==1.3.0')
resolver = Resolver(constraints=[ireq], repository=pypi)
resolver.resolve()

# stepping through we fail this check, showing that 'html5lib' is already in the cache
    if ireq not in self.dependency_cache:

# so next it fetches dep from cache:
ipdb> pp self.dependency_cache[ireq]
['html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre',
 'six']
# aha!
ipdb> self.dependency_cache._cache_file
'/Users/anentropic/Library/Caches/pipenv/depcache-py3.6.json'

์–ด๋–ป๊ฒŒ ๋“  ๊ฐ€์งœ html5lib>=0.99999999pre ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ข…์†์„ฑ ์บ์‹œ ํŒŒ์ผ์— ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ์•Œ์•˜์Šต๋‹ˆ๋‹ค...

pipenvtemp-py3 $ rm /Users/anentropic/Library/Caches/pipenv/depcache-py3.6.json
pipenvtemp-py3 $ pipenv lock
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project.
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

์„ฑ๊ณต - ์ž ๊ธˆ ํŒŒ์ผ์ด ์˜ค๋ฅ˜ ์—†์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋˜ํ•œ Python 2.7์—์„œ ์ž‘๋™ํ•˜๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. pipenv์—๋Š” Python ๋ฒ„์ „๋งˆ๋‹ค ๋ณ„๋„์˜ ์ข…์†์„ฑ ์บ์‹œ ํŒŒ์ผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

@anentropic ์—…๋ฐ์ดํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ง์ ‘ ์ถ”์ฒœํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ๋ฒ„๊ทธ๊ฐ€ ํ•ด๊ฒฐ๋˜์…จ๋‹ค๋‹ˆ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค!

@anentropic @techalchemy ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์ง€๋งŒ /Users/.../Library/Caches/pipenv/depcache-py3.6.json ์ œ๊ฑฐํ•ด๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์ œ์•ˆ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==1.0b8,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

@henadzit ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์–ด ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊ทธํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์—ฌ๊ธฐ์— ์ ์ ˆํ•˜๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@uranusjr , ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค! ์—ฌ๊ธฐ์žˆ์–ด

$ python -m pipenv.help ์ถœ๋ ฅ

Pipenv ๋ฒ„์ „: '11.9.0'

Pipenv ์œ„์น˜: '/Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/lib/python3.6/site-packages/pipenv'

ํŒŒ์ด์ฌ ์œ„์น˜: '/Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin/python'

PATH ๊ธฐํƒ€ Python ์„ค์น˜:

  • 2.7 : /usr/bin/python2.7
  • 2.7 : /usr/bin/python2.7
  • 3.6 : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin/python3.6m
  • 3.6 : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin/python3.6
  • 3.6 : /Users/henadzit/.pyenv/shims/python3.6
  • 3.6 : /usr/local/bin/python3.6
  • 3.6 : /usr/local/bin/python3.6

  • 3.6.4 : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin/python

  • 3.6.4 : /Users/henadzit/.pyenv/shims/python
  • 2.7.10 : /usr/bin/python
  • 3.6.4 : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin/python3
  • 3.6.4 : /Users/henadzit/.pyenv/shims/python3
  • 3.6.4 : /usr/local/bin/python3
  • 3.6.4 : /usr/local/bin/python3

PEP 508 ์ •๋ณด:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '17.4.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST '
                     '2017; root:xnu-4570.41.2~1/RELEASE_X86_64',
 'python_full_version': '3.6.4',
 'python_version': '3.6',
 'sys_platform': 'darwin'}

์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • TERM_PROGRAM
  • PIP_PYTHON_PATH
  • TERM
  • SHELL
  • TMPDIR
  • DOCKER_HOST
  • Apple_PubSub_Socket_Render
  • PYTHONUNBUFFERED
  • TERM_PROGRAM_VERSION
  • TERM_SESSION_ID
  • USER
  • DOCKER_MACHINE_NAME
  • CPATH
  • SSH_AUTH_SOCK
  • __CF_USER_TEXT_ENCODING
  • VIRTUAL_ENV
  • DOCKER_TLS_VERIFY
  • PIPENV_ACTIVE
  • PATH
  • PWD
  • JAVA_HOME
  • LETSENCRYPT_CERTS_FOLDER
  • LANG
  • DOPEOPLESAY_WEB_SECRET_KEY_BASE
  • ITERM_PROFILE
  • XPC_FLAGS
  • PS1
  • PYTHONDONTWRITEBYTECODE
  • RBENV_SHELL
  • XPC_SERVICE_NAME
  • PYENV_SHELL
  • DOCKER_CERT_PATH
  • SHLVL
  • HOME
  • COLORFGBG
  • ITERM_SESSION_ID
  • LOGNAME
  • PKG_CONFIG_PATH
  • DISPLAY
  • _

Pipenv ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • PIPENV_ACTIVE : 1

๋””๋ฒ„๊ทธ ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • PATH : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf/bin:/usr/local/Cellar/pipenv/11.9.0/libexec/tools:/Users/henadzit/.pyenv/shims:/Users/henadzit/.rbenv/shims:/Users/henadzit/.rbenv/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/henadzit/workspace/geckodriver:/Users/henadzit/.rvm/bin
  • SHELL : /bin/bash
  • LANG : en_US.UTF-8
  • PWD : /Users/henadzit/workspace/dopeoplesayit
  • VIRTUAL_ENV : /Users/henadzit/.local/share/virtualenvs/dopeoplesayit-BfIykoUf

Pipfile ('/Users/henadzit/workspace/dopeoplesayit/Pipfile')์˜ ๋‚ด์šฉ:

[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]

falcon = "==1.3.0"
gunicorn = "==19.7.1"
hunspell = "==0.5.0"
nltk = "==3.2.4"
pysolr = "==3.7.0"
pytest = "==3.1.2"
pytest-mock = "==1.6.3"
requests = "==2.18.4"


[dev-packages]

jupyter = "*"
spacy = "*"
matplotlib = "*"


[requires]

python_version = "3.6.4"

@uranusjr , ๊ท€์ฐฎ๊ฒŒ ํ•ด์„œ ๋ฏธ์•ˆํ•˜์ง€๋งŒ ๋‚ด ์ด์ „ ๋Œ“๊ธ€์—์„œ ์ถœ๋ ฅ์„ ๋ณผ ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ๋‚˜์š”? ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@henadzit ์€ ์ข…์†์„ฑ ํ•ด๊ฒฐ์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— pipenv shell ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. pipenv ์…ธ์˜ _outside_์—์„œ pipenv lock --verbose --clear ์‹œ๋„ํ•˜๊ณ  ์ด๊ฒƒ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

@techalchemy , ์ œ์•ˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ถˆํ–‰ํžˆ๋„ ๊ฐ™์€ ์˜ค๋ฅ˜๋กœ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ pipenv shell ์—†์ด pipenv.help ์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

$ python -m pipenv.help ์ถœ๋ ฅ

Pipenv ๋ฒ„์ „: '11.9.0'

Pipenv ์œ„์น˜: '/Users/henadzit/.pyenv/versions/3.6.4/lib/python3.6/site-packages/pipenv'

ํŒŒ์ด์ฌ ์œ„์น˜: '/Users/henadzit/.pyenv/versions/3.6.4/bin/python'

PATH ๊ธฐํƒ€ Python ์„ค์น˜:

  • 2.7 : /usr/bin/python2.7
  • 2.7 : /usr/bin/python2.7
  • 3.6 : /Users/henadzit/.pyenv/versions/3.6.4/bin/python3.6m
  • 3.6 : /Users/henadzit/.pyenv/versions/3.6.4/bin/python3.6
  • 3.6 : /Users/henadzit/.pyenv/shims/python3.6
  • 3.6 : /usr/local/bin/python3.6
  • 3.6 : /usr/local/bin/python3.6

  • 3.6.4 : /Users/henadzit/.pyenv/versions/3.6.4/bin/python

  • 3.6.4 : /Users/henadzit/.pyenv/shims/python
  • 2.7.10 : /usr/bin/python
  • 3.6.4 : /Users/henadzit/.pyenv/versions/3.6.4/bin/python3
  • 3.6.4 : /Users/henadzit/.pyenv/shims/python3
  • 3.6.4 : /usr/local/bin/python3
  • 3.6.4 : /usr/local/bin/python3

PEP 508 ์ •๋ณด:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '17.4.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST '
                     '2017; root:xnu-4570.41.2~1/RELEASE_X86_64',
 'python_full_version': '3.6.4',
 'python_version': '3.6',
 'sys_platform': 'darwin'}

์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • TERM_PROGRAM
  • PYENV_ROOT
  • SHELL
  • TERM
  • TMPDIR
  • Apple_PubSub_Socket_Render
  • DOCKER_HOST
  • TERM_PROGRAM_VERSION
  • TERM_SESSION_ID
  • PYENV_VERSION
  • USER
  • DOCKER_MACHINE_NAME
  • SSH_AUTH_SOCK
  • CPATH
  • PYENV_DIR
  • __CF_USER_TEXT_ENCODING
  • DOCKER_TLS_VERIFY
  • PATH
  • PWD
  • JAVA_HOME
  • LANG
  • ITERM_PROFILE
  • PYENV_HOOK_PATH
  • XPC_FLAGS
  • RBENV_SHELL
  • XPC_SERVICE_NAME
  • COLORFGBG
  • HOME
  • SHLVL
  • DOCKER_CERT_PATH
  • PYENV_SHELL
  • ITERM_SESSION_ID
  • LOGNAME
  • PKG_CONFIG_PATH
  • DISPLAY
  • PYTHONDONTWRITEBYTECODE
  • PIP_PYTHON_PATH
  • PYTHONUNBUFFERED

Pipenv ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

๋””๋ฒ„๊ทธ ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • PATH : /Users/henadzit/.pyenv/versions/3.6.4/bin:/usr/local/Cellar/pyenv/1.2.2/libexec:/Users/henadzit/.pyenv/shims:/Users/henadzit/.rbenv/shims:/Users/henadzit/.rbenv/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/henadzit/workspace/geckodriver
  • SHELL : /bin/bash
  • LANG : en_US.UTF-8
  • PWD : /Users/henadzit/workspace/dopeoplesayit

Pipfile ('/Users/henadzit/workspace/dopeoplesayit/Pipfile')์˜ ๋‚ด์šฉ:

[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]

falcon = "==1.3.0"
gunicorn = "==19.7.1"
hunspell = "==0.5.0"
nltk = "==3.2.4"
pysolr = "==3.7.0"
pytest = "==3.1.2"
pytest-mock = "==1.6.3"
requests = "==2.18.4"


[dev-packages]

jupyter = "*"
spacy = "*"
matplotlib = "*"


[requires]

python_version = "3.6.4"

@henadzit pipenv lock --clear ์‹œ๋„ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ง€์šฐ์‹ญ์‹œ์˜ค.

/Users/.../Library/Caches/pipenv
/Users/.../Library/Caches/pip-tools
/Users/.../Library/Caches/pip

@uranusjr @techalchemy , ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๋‹น์‹ ์ด ์ œ์•ˆํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์šด์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํŒจํ‚ค์ง€๋กœ ์ƒˆ Pipfile์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” pipenv.help ์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค. ์ด PIpfile์„ docker์—์„œ ์‹คํ–‰ํ•˜์—ฌ ๋‚ด ํ™˜๊ฒฝ์—๋งŒ ํ•ด๋‹น๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

$ python -m pipenv.help ์ถœ๋ ฅ

Pipenv ๋ฒ„์ „: '11.9.0'

Pipenv ์œ„์น˜: '/usr/local/Cellar/pipenv/11.9.0/libexec/lib/python3.6/site-packages/pipenv'

ํŒŒ์ด์ฌ ์œ„์น˜: '/usr/local/Cellar/pipenv/11.9.0/libexec/bin/python3'

PATH ๊ธฐํƒ€ Python ์„ค์น˜:

  • 2.7 : /usr/bin/python2.7
  • 2.7 : /usr/bin/python2.7
  • 3.6 : /Users/henadzit/anaconda3/bin/python3.6m
  • 3.6 : /Users/henadzit/anaconda3/bin/python3.6
  • 3.6 : /Users/henadzit/.pyenv/shims/python3.6
  • 3.6 : /usr/local/bin/python3.6
  • 3.6 : /usr/local/bin/python3.6

  • 3.6.4 : /Users/henadzit/anaconda3/bin/python

  • 3.6.4 : /Users/henadzit/.pyenv/shims/python
  • 2.7.10 : /usr/bin/python
  • 3.6.4 : /Users/henadzit/anaconda3/bin/python3
  • 3.6.4 : /Users/henadzit/.pyenv/shims/python3
  • 3.6.4 : /usr/local/bin/python3
  • 3.6.4 : /usr/local/bin/python3

PEP 508 ์ •๋ณด:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '17.4.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST '
                     '2017; root:xnu-4570.41.2~1/RELEASE_X86_64',
 'python_full_version': '3.6.4',
 'python_version': '3.6',
 'sys_platform': 'darwin'}

์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • TERM_PROGRAM
  • TERM
  • SHELL
  • TMPDIR
  • DOCKER_HOST
  • Apple_PubSub_Socket_Render
  • TERM_PROGRAM_VERSION
  • OLDPWD
  • TERM_SESSION_ID
  • USER
  • LD_LIBRARY_PATH
  • DOCKER_MACHINE_NAME
  • CPATH
  • SSH_AUTH_SOCK
  • __CF_USER_TEXT_ENCODING
  • DOCKER_TLS_VERIFY
  • PATH
  • PWD
  • JAVA_HOME
  • LANG
  • ITERM_PROFILE
  • XPC_FLAGS
  • RBENV_SHELL
  • XPC_SERVICE_NAME
  • PYENV_SHELL
  • DOCKER_CERT_PATH
  • SHLVL
  • HOME
  • COLORFGBG
  • ITERM_SESSION_ID
  • LOGNAME
  • PKG_CONFIG_PATH
  • DISPLAY
  • _
  • PYTHONDONTWRITEBYTECODE
  • PIP_PYTHON_PATH
  • PYTHONUNBUFFERED

Pipenv ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

๋””๋ฒ„๊ทธ ์ „์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • PATH : /Users/henadzit/anaconda3/bin:/Users/henadzit/.pyenv/shims:/Users/henadzit/.rbenv/shims:/Users/henadzit/.rbenv/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/henadzit/workspace/geckodriver:/Users/henadzit/workspace/torch/install/bin
  • SHELL : /bin/bash
  • LANG : en_US.UTF-8
  • PWD : /Users/henadzit/workspace/pipenv-html5lib-issue

Pipfile ('/Users/henadzit/workspace/pipenv-html5lib-issue/Pipfile'):

[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]
jupyter = "==1.0.0"
spacy = "==2.0.10"

[dev-packages]

[requires]

python_version = "3.6.4"

@uranusjr @techalchemy , ๋ฌธ์ œ๊ฐ€ ๋‚ด ํ™˜๊ฒฝ๊ณผ ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. docker์˜ ์™„์ „ํžˆ ๊นจ๋—ํ•œ ํ™˜๊ฒฝ์—์„œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค . ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ํ•œ ๋ฒˆ ๋ณด์‹ญ์‹œ์˜ค(

@henadzit ๊ท€ํ•˜์˜ ์ข…์†์„ฑ์€ ์‹ค์ œ๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ spaCy์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค: https://github.com/explosion/spaCy/issues/2181.

@henadzit spaCy๋Š” 2.0.11์—์„œ ํ•„์ˆ˜ ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๊ธฐ ๋•Œ๋ฌธ์— TensorFlow ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ •ํ™•ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ (์ผ์‹œ์ ์œผ๋กœ ํฌ๋งํ•ฉ๋‹ˆ๋‹ค) Pipfile์—์„œ tensorflow๋ฅผ ๊บผ๋‚ด๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

pipenv install
pip install tensorflow

@romanczuk , ๋‚˜๋Š” spacy๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค! ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚˜์—๊ฒŒ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค. tensorflow ๋ฐ jupyter[notebook] ๋‘˜ ๋‹ค ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ „์ž๋Š” bleach==1.5.0 ๊ณ ์ •ํ•˜์ง€๋งŒ ํ›„์ž๋Š” ๊ณ ์ •๋˜์ง€ ์•Š์€ ์ „์ด์  bleach ์ข…์†์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์ข…์†์„ฑ์€ >=0.99999999pre ์ œ์•ฝ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

ํ‘œ๋ฐฑ์ œ(๊ณ ์ • ํ•ด์ œ๋จ) ๋ฐ ํ…์„œ๋ณด๋“œ(ํ‘œ๋ฐฑ์ œ ๋ฒ„์ „ ๊ณ ์ •)๋ฅผ ์„ค์น˜ํ•˜์—ฌ ๋™์ž‘์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pipenv install bleach tensorboard
Creating a virtualenv for this projectโ€ฆ
Using /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6 (3.6.4) to create virtualenvโ€ฆ
โ ‹Already using interpreter /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6
Using real prefix '/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6'
New python executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python3.6
Also creating executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I
Creating a Pipfile for this projectโ€ฆ
Installing bleachโ€ฆ
Collecting bleach
  Using cached bleach-2.1.3-py2.py3-none-any.whl
Collecting six (from bleach)
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre (from bleach)
  Using cached html5lib-1.0.1-py2.py3-none-any.whl
Collecting webencodings (from html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre->bleach)
  Using cached webencodings-0.5.1-py2.py3-none-any.whl
Installing collected packages: six, webencodings, html5lib, bleach
Successfully installed bleach-2.1.3 html5lib-1.0.1 six-1.11.0 webencodings-0.5.1

Adding bleach to Pipfile's [packages]โ€ฆ
Installing tensorboardโ€ฆ
Collecting tensorboard
  Using cached tensorboard-1.7.0-py3-none-any.whl
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting werkzeug>=0.11.10 (from tensorboard)
  Using cached Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting bleach==1.5.0 (from tensorboard)
  Using cached bleach-1.5.0-py2.py3-none-any.whl
Collecting numpy>=1.12.0 (from tensorboard)
  Using cached numpy-1.14.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecting markdown>=2.6.8 (from tensorboard)
  Using cached Markdown-2.6.11-py2.py3-none-any.whl
Collecting protobuf>=3.4.0 (from tensorboard)
  Using cached protobuf-3.5.2.post1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already satisfied: six>=1.10.0 in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting html5lib==0.9999999 (from tensorboard)
Requirement already satisfied: setuptools in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from protobuf>=3.4.0->tensorboard)
Installing collected packages: werkzeug, html5lib, bleach, numpy, markdown, protobuf, tensorboard
  Found existing installation: html5lib 1.0.1
    Uninstalling html5lib-1.0.1:
      Successfully uninstalled html5lib-1.0.1
  Found existing installation: bleach 2.1.3
    Uninstalling bleach-2.1.3:
      Successfully uninstalled bleach-2.1.3
Successfully installed bleach-1.5.0 html5lib-0.9999999 markdown-2.6.11 numpy-1.14.2 protobuf-3.5.2.post1 tensorboard-1.7.0 werkzeug-0.14.1

Adding tensorboard to Pipfile's [packages]โ€ฆ
Pipfile.lock not found, creatingโ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

install --skip-lock ๋ฐ graph ์‹คํ–‰ํ•  ๋•Œ ์ด ์ œ์•ฝ ์กฐ๊ฑด์˜ ์ง•ํ›„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

$ pipenv install bleach tensorboard --skip-lock
...

$ pipenv graph | grep html5lib
    - html5lib [required: >=0.999,!=0.9999,!=0.99999,<0.99999999, installed: 0.9999999]
  - html5lib [required: ==0.9999999, installed: 0.9999999]

$ pipenv graph | grep bleach
  - bleach [required: ==1.5.0, installed: 1.5.0]

์บ์‹œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•ด๋„ ๋™์ž‘์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. pipenv ๋ฒ„์ „ 11.8.0 ์ž…๋‹ˆ๋‹ค. ์ „์—ญ ์ƒํƒœ์™€ ์•ฝ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ์˜ ์˜ˆ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œ ์œ„์˜ ์„ค์ •์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์‹คํ–‰์œผ๋กœ ์ž ๊ธˆ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋™์ž‘์„ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ:

$ pipenv --version
pipenv, version 11.8.0

$ pipenv graph
tensorboard==1.7.0
  - bleach [required: ==1.5.0, installed: 1.5.0]
    - html5lib [required: !=0.99999,!=0.9999,>=0.999,<0.99999999, installed: 0.9999999]
      - six [required: Any, installed: 1.11.0]
    - six [required: Any, installed: 1.11.0]
  - html5lib [required: ==0.9999999, installed: 0.9999999]
    - six [required: Any, installed: 1.11.0]
  - markdown [required: >=2.6.8, installed: 2.6.11]
  - numpy [required: >=1.12.0, installed: 1.14.2]
  - protobuf [required: >=3.4.0, installed: 3.5.2.post1]
    - setuptools [required: Any, installed: 39.0.1]
    - six [required: >=1.9, installed: 1.11.0]
  - six [required: >=1.10.0, installed: 1.11.0]
  - werkzeug [required: >=0.11.10, installed: 0.14.1]
  - wheel [required: >=0.26, installed: 0.31.0]
webencodings==0.5.1


$ cat Pipfile 
[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]

bleach = "*"
tensorboard = "*"


[dev-packages]



[requires]

python_version = "3.6"

$ pipenv lock --clear --verbose
Locking [dev-packages] dependenciesโ€ฆ
Using pip: -i https://pypi.python.org/simple

                          ROUND 1                           
Current constraints:

Finding the best candidates:

Finding secondary dependencies:
------------------------------------------------------------
Result of round 1: stable, done

Locking [packages] dependenciesโ€ฆ
Using pip: -i https://pypi.python.org/simple

                          ROUND 1                           
Current constraints:
  bleach
  tensorboard

Finding the best candidates:
  found candidate bleach==2.1.3 (constraint was <any>)
  found candidate tensorboard==1.7.0 (constraint was <any>)

Finding secondary dependencies:
  tensorboard==1.7.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"
  bleach==2.1.3             requires html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre, six

New dependencies found in this round:
  adding ['bleach', '==1.5.0', '[]']
  adding ['html5lib', '!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre', '[]']
  adding ['markdown', '>=2.6.8', '[]']
  adding ['numpy', '>=1.12.0', '[]']
  adding ['protobuf', '>=3.4.0', '[]']
  adding ['six', '>=1.10.0', '[]']
  adding ['werkzeug', '>=0.11.10', '[]']
  adding ['wheel', '>=0.26', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2                           
Current constraints:
  bleach==1.5.0
  html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
  markdown>=2.6.8
  numpy>=1.12.0
  protobuf>=3.4.0
  six>=1.10.0
  tensorboard
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate bleach==1.5.0 (constraint was ==1.5.0)
Using pip: -i https://pypi.python.org/simple

                          ROUND 1                           
Current constraints:
  bleach
  tensorboard

Finding the best candidates:
  found candidate bleach==2.1.3 (constraint was <any>)
  found candidate tensorboard==1.7.0 (constraint was <any>)

Finding secondary dependencies:
  bleach==2.1.3             requires html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre, six
  tensorboard==1.7.0        requires bleach==1.5.0, html5lib==0.9999999, markdown>=2.6.8, numpy>=1.12.0, protobuf>=3.4.0, six>=1.10.0, werkzeug>=0.11.10, wheel>=0.26; python_version >= "3"; python_version >= "3"

New dependencies found in this round:
  adding ['bleach', '==1.5.0', '[]']
  adding ['html5lib', '!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre', '[]']
  adding ['markdown', '>=2.6.8', '[]']
  adding ['numpy', '>=1.12.0', '[]']
  adding ['protobuf', '>=3.4.0', '[]']
  adding ['six', '>=1.10.0', '[]']
  adding ['werkzeug', '>=0.11.10', '[]']
  adding ['wheel', '>=0.26', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2                           
Current constraints:
  bleach==1.5.0
  html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
  markdown>=2.6.8
  numpy>=1.12.0
  protobuf>=3.4.0
  six>=1.10.0
  tensorboard
  werkzeug>=0.11.10
  wheel>=0.26

Finding the best candidates:
  found candidate bleach==1.5.0 (constraint was ==1.5.0)

INFO:pip9._vendor.requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): pypi.python.org
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

์ž, ์ด๊ฒƒ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ณด๋ฉด ์ด๊ฒƒ์€ ํ•ฉ๋ฒ•์ ์ธ ์ข…์†์„ฑ ์ถฉ๋Œ์ž…๋‹ˆ๋‹ค. html5lib>=0.99999999pre ๋Š” html5lib==0.9999999 ๋ณด๋‹ค ํฐ ์ˆซ์ž์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ dev-packages ์„น์…˜์— ํ…์„œ๋ณด๋“œ๋ฅผ ๋„ฃ๊ณ  pipenv install โ€”dev โ€” pipenv๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ๋น„๊ฐœ๋ฐœ์ž ํ•ด์ƒ๋„๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋ฅผ ๋‹นํ™ฉ์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? html5lib>=0.99999999pre ๊ฐ€ ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Tensorboard๋Š” bleach==1.5.0 ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ pipenv install ์ „๋‹ฌ๋œ ์ถ”๊ฐ€ bleach ํŒจํ‚ค์ง€๋Š” ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ตฌ์ฒด์ ์œผ๋กœ: ํ…์„œ๋ณด๋“œ๊ฐ€ bleach==1.5.0 ์ˆ˜์ •ํ•˜๋ฉด ์ด ๋‘ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ •ํ™•ํžˆ ๋™์ผํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.

pipenv install tensorboard

pipenv install bleach tensorboard

๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๋จผ์ € ๋‚˜์—ดํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฃผ๋ฌธ์„ ๋ฐ”๊พธ๋ฉด ๊ณ ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ํ™•์‹คํ•˜์ง€ ์•Š๋‹ค. ์ด๊ฒƒ๋„ ํ•ด๋ณด๊ณ  ์•Œ๋ ค์ฃผ์„ธ์š”

๋ช…๋ น์ค„์— ํ‘œ๋ฐฑ์ œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค(์ฒ˜์Œ ๋‘ ์˜ต์…˜). ํ…์„œ๋ณด๋“œ๋งŒ ์„ค์น˜ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(๋งˆ์ง€๋ง‰ ์˜ต์…˜). pipenv ์ถœ๋ ฅ์€ details ๋ธ”๋ก ์•ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค.

$ rm -rf ~/Library/Caches/pip* ~/.virtualenvs/foo-i7B_Qy-I Pipfile 
$ pipenv install tensorboard bleach

# fails

Creating a virtualenv for this projectโ€ฆ
Using /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6 (3.6.4) to create virtualenvโ€ฆ
โ ‹Already using interpreter /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6
Using real prefix '/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6'
New python executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python3.6
Also creating executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I
Creating a Pipfile for this projectโ€ฆ
Installing tensorboardโ€ฆ
Collecting tensorboard
  Downloading tensorboard-1.7.0-py3-none-any.whl (3.1MB)
Collecting html5lib==0.9999999 (from tensorboard)
  Downloading html5lib-0.9999999.tar.gz (889kB)
Collecting werkzeug>=0.11.10 (from tensorboard)
  Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
Collecting markdown>=2.6.8 (from tensorboard)
  Downloading Markdown-2.6.11-py2.py3-none-any.whl (78kB)
Collecting numpy>=1.12.0 (from tensorboard)
  Downloading numpy-1.14.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7MB)
Collecting protobuf>=3.4.0 (from tensorboard)
  Downloading protobuf-3.5.2.post1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting six>=1.10.0 (from tensorboard)
  Downloading six-1.11.0-py2.py3-none-any.whl
Collecting bleach==1.5.0 (from tensorboard)
  Downloading bleach-1.5.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from protobuf>=3.4.0->tensorboard)
Building wheels for collected packages: html5lib
  Running setup.py bdist_wheel for html5lib: started
  Running setup.py bdist_wheel for html5lib: finished with status 'done'
  Stored in directory: /Volumes/Home/Library/Caches/pip/wheels/6f/85/6c/56b8e1292c6214c4eb73b9dda50f53e8e977bf65989373c962
Successfully built html5lib
Installing collected packages: six, html5lib, werkzeug, markdown, numpy, protobuf, bleach, tensorboard
Successfully installed bleach-1.5.0 html5lib-0.9999999 markdown-2.6.11 numpy-1.14.2 protobuf-3.5.2.post1 six-1.11.0 tensorboard-1.7.0 werkzeug-0.14.1

Adding tensorboard to Pipfile's [packages]โ€ฆ
Installing bleachโ€ฆ
Requirement already satisfied: bleach in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages
Requirement already satisfied: six in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from bleach)
Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from bleach)

Adding bleach to Pipfile's [packages]โ€ฆ
Pipfile.lock not found, creatingโ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

$ rm -rf ~/Library/Caches/pip* ~/.virtualenvs/foo-i7B_Qy-I Pipfile
$ pipenv install bleach tensorboard 

# fails

Creating a virtualenv for this projectโ€ฆ
Using /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6 (3.6.4) to create virtualenvโ€ฆ
โ ‹Already using interpreter /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6
Using real prefix '/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6'
New python executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python3.6
Also creating executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I
Creating a Pipfile for this projectโ€ฆ
Installing bleachโ€ฆ
Collecting bleach
  Downloading bleach-2.1.3-py2.py3-none-any.whl
Collecting html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre (from bleach)
  Downloading html5lib-1.0.1-py2.py3-none-any.whl (117kB)
Collecting six (from bleach)
  Downloading six-1.11.0-py2.py3-none-any.whl
Collecting webencodings (from html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre->bleach)
  Downloading webencodings-0.5.1-py2.py3-none-any.whl
Installing collected packages: six, webencodings, html5lib, bleach
Successfully installed bleach-2.1.3 html5lib-1.0.1 six-1.11.0 webencodings-0.5.1

Adding bleach to Pipfile's [packages]โ€ฆ
Installing tensorboardโ€ฆ
Collecting tensorboard
  Downloading tensorboard-1.7.0-py3-none-any.whl (3.1MB)
Collecting werkzeug>=0.11.10 (from tensorboard)
  Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
Collecting markdown>=2.6.8 (from tensorboard)
  Downloading Markdown-2.6.11-py2.py3-none-any.whl (78kB)
Collecting bleach==1.5.0 (from tensorboard)
  Downloading bleach-1.5.0-py2.py3-none-any.whl
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting numpy>=1.12.0 (from tensorboard)
  Downloading numpy-1.14.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7MB)
Collecting protobuf>=3.4.0 (from tensorboard)
  Downloading protobuf-3.5.2.post1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
Requirement already satisfied: six>=1.10.0 in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting html5lib==0.9999999 (from tensorboard)
  Downloading html5lib-0.9999999.tar.gz (889kB)
Requirement already satisfied: setuptools in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from protobuf>=3.4.0->tensorboard)
Building wheels for collected packages: html5lib
  Running setup.py bdist_wheel for html5lib: started
  Running setup.py bdist_wheel for html5lib: finished with status 'done'
  Stored in directory: /Volumes/Home/Library/Caches/pip/wheels/6f/85/6c/56b8e1292c6214c4eb73b9dda50f53e8e977bf65989373c962
Successfully built html5lib
Installing collected packages: werkzeug, markdown, html5lib, bleach, numpy, protobuf, tensorboard
  Found existing installation: html5lib 1.0.1
    Uninstalling html5lib-1.0.1:
      Successfully uninstalled html5lib-1.0.1
  Found existing installation: bleach 2.1.3
    Uninstalling bleach-2.1.3:
      Successfully uninstalled bleach-2.1.3
Successfully installed bleach-1.5.0 html5lib-0.9999999 markdown-2.6.11 numpy-1.14.2 protobuf-3.5.2.post1 tensorboard-1.7.0 werkzeug-0.14.1

Adding tensorboard to Pipfile's [packages]โ€ฆ
Pipfile.lock (d84f24) out of date, updating to (930330)โ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,==0.9999999,>=0.99999999pre
Tried: 1.0-reupload, 0.2, 0.9, 0.10, 0.11, 0.11.1, 0.90, 0.95, 0.99, 0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.999999999, 1.0b1, 1.0b2, 1.0b3, 1.0b5, 1.0b6, 1.0b7, 1.0b8, 1.0b9, 1.0b10, 1.0b10, 1.0.1, 1.0.1

$ rm -rf ~/Library/Caches/pip* ~/.virtualenvs/foo-i7B_Qy-I Pipfile 
$ pipenv install tensorboard

# works

Creating a virtualenv for this projectโ€ฆ
Using /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6 (3.6.4) to create virtualenvโ€ฆ
โ ‹Already using interpreter /usr/local/Cellar/pipenv/11.8.0/libexec/bin/python3.6
Using real prefix '/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6'
New python executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python3.6
Also creating executable in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I
Creating a Pipfile for this projectโ€ฆ
Installing tensorboardโ€ฆ
Collecting tensorboard
  Downloading tensorboard-1.7.0-py3-none-any.whl (3.1MB)
Collecting markdown>=2.6.8 (from tensorboard)
  Downloading Markdown-2.6.11-py2.py3-none-any.whl (78kB)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from tensorboard)
Collecting bleach==1.5.0 (from tensorboard)
  Downloading bleach-1.5.0-py2.py3-none-any.whl
Collecting html5lib==0.9999999 (from tensorboard)
  Downloading html5lib-0.9999999.tar.gz (889kB)
Collecting numpy>=1.12.0 (from tensorboard)
  Downloading numpy-1.14.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7MB)
Collecting werkzeug>=0.11.10 (from tensorboard)
  Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
Collecting six>=1.10.0 (from tensorboard)
  Downloading six-1.11.0-py2.py3-none-any.whl
Collecting protobuf>=3.4.0 (from tensorboard)
  Downloading protobuf-3.5.2.post1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
Requirement already satisfied: setuptools in /Volumes/Home/.local/share/virtualenvs/foo-i7B_Qy-I/lib/python3.6/site-packages (from protobuf>=3.4.0->tensorboard)
Building wheels for collected packages: html5lib
  Running setup.py bdist_wheel for html5lib: started
  Running setup.py bdist_wheel for html5lib: finished with status 'done'
  Stored in directory: /Volumes/Home/Library/Caches/pip/wheels/6f/85/6c/56b8e1292c6214c4eb73b9dda50f53e8e977bf65989373c962
Successfully built html5lib
Installing collected packages: markdown, six, html5lib, bleach, numpy, werkzeug, protobuf, tensorboard
Successfully installed bleach-1.5.0 html5lib-0.9999999 markdown-2.6.11 numpy-1.14.2 protobuf-3.5.2.post1 six-1.11.0 tensorboard-1.7.0 werkzeug-0.14.1

Adding tensorboard to Pipfile's [packages]โ€ฆ
Pipfile.lock not found, creatingโ€ฆ
Locking [dev-packages] dependenciesโ€ฆ
Locking [packages] dependenciesโ€ฆ
Updated Pipfile.lock (d84f24)!
Installing dependencies from Pipfile.lock (d84f24)โ€ฆ
  ๐Ÿ   โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰โ–‰ 9/9 โ€” 00:00:04
To activate this project's virtualenv, run the following:
 $ pipenv shell

@techalchemy ๋‹ค์‹œ ํ•œ ๋ฒˆ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰