Pip: pip 10์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ: distutils๊ฐ€ ์„ค์น˜๋œ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 16์ผ  ยท  41์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pip

  • ํ• ๋ฒ„์ „: 10.0.0
  • ํŒŒ์ด์ฌ ๋ฒ„์ „: 2.7
  • ์šด์˜ ์ฒด์ œ: Amazon ECS ์ตœ์ ํ™” Amazon Linux AMI 2017.09.i

์„ค๋ช…:

docker-py๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธํ”„๋ผ ์„ค์ • ์›Œํฌํ”Œ๋กœ์˜ ์ผ๋ฐ˜์ ์ธ ๋ถ€๋ถ„์ด๋ฉฐ ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„ ๋™์•ˆ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

pip 9.0.2์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ญ”๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‚˜์š”? ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? (pip ๋ฒ„์ „์„ 9.0.2 ๋˜๋Š” 9.0.3์— ๊ณ ์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์ œ์™ธ)

๋‚ด๊ฐ€ ์‹คํ–‰ํ•œ ๊ฒƒ:

pip 10์„ ์‚ฌ์šฉํ•œ ์ฒซ ๋ฒˆ์งธ ์„ค์น˜ ์‹œ๋„

# /usr/local/bin/pip2 install docker-py
Collecting docker-py
  Using cached docker_py-1.10.6-py2.py3-none-any.whl
Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python2.7/site-packages (from docker-py) (1.11.0)
Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/local/lib/python2.7/site-packages (from docker-py) (3.5.0.1)
Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/local/lib/python2.7/site-packages (from docker-py) (1.0.22)
Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python2.7/site-packages (from docker-py) (0.47.0)
Collecting requests!=2.11.0,>=2.5.2 (from docker-py)
  Using cached requests-2.18.4-py2.py3-none-any.whl
Collecting docker-pycreds>=0.2.1 (from docker-py)
  Using cached docker_pycreds-0.2.2-py2.py3-none-any.whl
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py) (2.6)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py) (1.22)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py) (2018.1.18)
Collecting chardet<3.1.0,>=3.0.2 (from requests!=2.11.0,>=2.5.2->docker-py)
  Using cached chardet-3.0.4-py2.py3-none-any.whl
Installing collected packages: chardet, requests, docker-pycreds, docker-py
  Found existing installation: chardet 2.0.1
Cannot uninstall 'chardet'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

pip 9.0.3์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•œ ๋‹ค์Œ ๋‹ค์Œ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

# /usr/local/bin/pip2 install docker-py
Collecting docker-py
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading docker_py-1.10.6-py2.py3-none-any.whl (50kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 51kB 4.8MB/s
Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python2.7/site-packages (from docker-py)
Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/local/lib/python2.7/site-packages (from docker-py)
Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/local/lib/python2.7/site-packages (from docker-py)
Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python2.7/site-packages (from docker-py)
Collecting requests!=2.11.0,>=2.5.2 (from docker-py)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 92kB 8.2MB/s
Collecting docker-pycreds>=0.2.1 (from docker-py)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading docker_pycreds-0.2.2-py2.py3-none-any.whl
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/site-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Collecting chardet<3.1.0,>=3.0.2 (from requests!=2.11.0,>=2.5.2->docker-py)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
    100% |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 143kB 7.7MB/s
Installing collected packages: chardet, requests, docker-pycreds, docker-py
  Found existing installation: chardet 2.0.1
    DEPRECATION: Uninstalling a distutils installed project (chardet) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling chardet-2.0.1:
      Successfully uninstalled chardet-2.0.1
  Found existing installation: requests 1.2.3
    Uninstalling requests-1.2.3:
      Successfully uninstalled requests-1.2.3
Successfully installed chardet-3.0.4 docker-py-1.10.6 docker-pycreds-0.2.2 requests-2.18.4
You are using pip version 9.0.3, however version 10.0.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

๋˜ํ•œ awscli ์„ค์น˜์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ ์ผ๋ถ€ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๋ถˆํ‰ํ•ฉ๋‹ˆ๋‹ค. (๋จผ์ € ์„ค์น˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค).

์˜ˆ๋ฅผ ๋“ค์–ด awscli๋ฅผ ๊ฐ•์ œ๋กœ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•˜๋ฉด PyYAML์— ๋Œ€ํ•ด ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

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

๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ถ•์†Œ ๋ฒ„์ „:
    pip install --upgrade --force-reinstall pip==9.0.3
  2. ํŒจํ‚ค์ง€ ์žฌ์„ค์น˜ ์‹œ๋„:
    pip install xxx --disable-pip-version-check
  3. ๋งˆ์ง€๋ง‰์œผ๋กœ pip์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
    pip install --upgrade pip

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

์—ญ์‚ฌ์— ๋Œ€ํ•ด์„œ๋Š” #4805 ๋ฐ #3389๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ์ ์œผ๋กœ pip๋Š” "์ˆœ์ˆ˜ํ•œ" distutils์— ์˜ํ•ด ์„ค์น˜๋œ ํŒจํ‚ค์ง€๋ฅผ ์ œ๋Œ€๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. distutils๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด์ „์— ์„ค์น˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์„ค์น˜ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ํŒŒ์ผ์„ ๋‚จ๊ฒจ๋‘์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. pip 8 ์ดํ›„๋กœ ๋ฌธ์ œ์˜ ์›์ธ์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์„ ์ค‘๋‹จํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋‹น์‹œ ๋„ˆ๋ฌด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์ณค๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์‹œ๋„๊ฐ€ ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. pip 10์„ ์‚ฌ์šฉํ•˜์—ฌ distutils ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ๋งˆ์นจ๋‚ด ์ค‘๋‹จํ–ˆ์œผ๋ฉฐ ์ด์ œ ์—ฌ๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ distutils๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ(๋˜๋Š” ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ถ€ ์ธํ”„๋ผ) "distutils๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ" ํŒจํ‚ค์ง€๋ฅผ ๊ด€๋ฆฌ(ํŠนํžˆ) ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ distutils์—๋Š” ์ œ๊ฑฐ ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ "distutils๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ฑฐ"๋Š” ํŒจํ‚ค์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

@pfmoore ๋น ๋ฅธ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„์˜ ํŒจํ‚ค์ง€๊ฐ€ ์ข…์†์„ฑ์œผ๋กœ ์„ค์น˜๋˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์†Œ ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฑฐ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์€ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€๋ฅผ ๋จผ์ € ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ๋งŒ ํ•˜๋ ค๋Š” ์›€์ง์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ฒฐ๊ตญ ์ผ์–ด๋‚œ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋„๋ฆฌ ๋…ผ์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

"site-packages"์—์„œ ์ˆ˜๋™์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

๋ช…๋ น๊ณผ ํ•จ๊ป˜ pip ๋ฒ„์ „์„ ์ œ๊ณตํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
ํ• ์„ค์น˜ -I==9.0.3 -r ์š”๊ตฌ ์‚ฌํ•ญ.txt

๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ถ•์†Œ ๋ฒ„์ „:
    pip install --upgrade --force-reinstall pip==9.0.3
  2. ํŒจํ‚ค์ง€ ์žฌ์„ค์น˜ ์‹œ๋„:
    pip install xxx --disable-pip-version-check
  3. ๋งˆ์ง€๋ง‰์œผ๋กœ pip์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
    pip install --upgrade pip

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค : https://github.com/blockstack/blockstack-core/issues/504

์œ„์˜ ์›๋ž˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

pip install docker-py --ignore-installed PyYAML

๋‹น์‹ ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ชจ๋ฅด์ง€๋งŒ ๋‚˜๋Š” ๋‹น์‹ ์„ ์‚ฌ๋ž‘ํ•ฉ๋‹ˆ๋‹ค.

@pfmoore pip ์„ค์น˜๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ํŒ€์— ๋ฌด์—‡์„ ์ถ”์ฒœํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ–ˆ์œผ๋ฏ€๋กœ smart-open ๋ฐ boto3์— ๋Œ€ํ•ด ์ž๋™์œผ๋กœ pip install์„ ํ˜ธ์ถœํ•œ ๋‹ค์Œ requirements.txt์— numpy, scipy, boto, sklearn ๋ฐ datadog์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์„ค์น˜์˜ ๊ฒฝ์šฐ urllib3์— ๋Œ€ํ•ด distutils ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(์Šค๋งˆํŠธ ์—ด๊ธฐ๊ฐ€ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—). --ignore-installed urllib3 ์‚ฌ์šฉํ•  ๋•Œ ์„ค์น˜๊ฐ€ ์ž‘๋™ํ•˜์ง€๋งŒ ์ด์— ๋Œ€ํ•ด ๋” ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ distutils๊ฐ€ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์ด๋‚˜ ๋” ๋งŽ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์— ๋Œ€ํ•ด ํ•ด๋‹น ํŒ€๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆˆ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@ruby-is-pretty-cool ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ง„์งœ ์˜๊ฒฌ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ urllib3์— ๋Œ€ํ•ด "์Šค๋งˆํŠธ ์˜คํ”ˆ์ด ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—"๋ผ๊ณ  ๋งํ–ˆ์ง€๋งŒ urllib3์— ๋Œ€ํ•œ ์ข…์†์„ฑ์„ ์„ ์–ธํ•˜๋Š” smart-open์—๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. smart-open์ด ์ด ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ urllib3๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ smart-open ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

๋˜ํ•œ distutils๊ฐ€ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์ด๋‚˜ ๋” ๋งŽ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์— ๋Œ€ํ•ด ํ•ด๋‹น ํŒ€๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆˆ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ์•„๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. distutils๊ฐ€ ์š”์ฆ˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ž์œ ๋กญ๊ฒŒ ๋ฌผ์–ด๋ณด์„ธ์š”). ๊ณต์‹ ํŒจํ‚ค์ง• ๋ฌธ์„œ๋Š” ์–ด์จŒ๋“  distutils๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ํ–ฅ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ๊ทธ๋“ค์—๊ฒŒ ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค๋งˆํŠธ์˜คํ”ˆ์„ ์„ค์น˜ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ฐจ๋ก€๋กœ urllib3์— ์˜์กดํ•˜๋Š” ์š”์ฒญ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. virtualenv์— ์„ค์น˜ํ•  ๋•Œ pip์— ์˜ํ•ด ์ œ๋Œ€๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์—์„œ ์ด ์„ค์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์–ด๋–ค ๊ฒฝ์šฐ์— urllib3๊ฐ€ ์„ค์น˜๋œ ์‹œ์Šคํ…œ์„ ๋ณด๊ณ (๊ทธ๋ฆฌ๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ)? ๊ทธ๋ ‡๋‹ค๋ฉด "์‹œ์Šคํ…œ ํŒจํ‚ค์ง€์— pip๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค"๋ผ๋Š” ์ผ๋ฐ˜์ ์ธ ์กฐ์–ธ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. virtualenv๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์— ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐฐํฌ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ €๋Š” Python ํŒจํ‚ค์ง•์„ ์ฒ˜์Œ ์ ‘ํ–ˆ์ง€๋งŒ virtualenv ๋˜๋Š” distro ํŒจํ‚ค์ง€๊ฐ€ ์šฐ๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋” ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฑด ๋ฏธ์นœ ์ง“์ด์•ผ. ์ผ๋ถ€ ์ข…๊ต ๊ฐ™์€ ๋ฏฟ์Œ ๋•Œ๋ฌธ์— ์„ค์น˜๊ฐ€ ๊นจ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€ setup.py ํ•ญ๋ชฉ์ด urllib3์— ๋‹ฟ์œผ๋ฉด ์ด๋ฅผ ๋ฌด์‹œํ•˜๋„๋ก ์ง€์‹œํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ Ubuntu 14์—์„œ ์„ค์น˜๋œ pip(v1.5.x) ๋ฒ„์ „์ด https URL์—์„œ ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— urllib3๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ ์€ "์‹œ์Šคํ…œ" ํŒจํ‚ค์ง€๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ถ”์ง€ ์•Š๋Š”๋‹ค๋ฉด ์•„๋ฌด๋„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. Linux ์ปค๋„ ํ”„๋กœ์ ํŠธ์—์„œ ์ด ๋™์ž‘์€ "์‚ฌ์šฉ์ž ๊ณต๊ฐ„์„ ๊นจ๋œจ๋ฆฌ๋Š”" ๊ฒƒ์ด๋ฉฐ Torvalds๋Š” ์ด์— ์ž˜ ๋ฐ˜์‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๊ฒƒ์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ž˜ ๋ฐ›์•„๋“ค์ด๋Š” ๊ฒƒ์€ ๋†€๋ผ์šด ์ผ์ž…๋‹ˆ๋‹ค.

์ตœ์†Œํ•œ pip ๋ฉ”์‹œ์ง€์—์„œ "์ด ๋ฒ„์ „์˜ pip๋Š” ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘๋™์„ ๊ฑฐ๋ถ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ด์ „ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ด์ „ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ pip ๋ฒ„์ „ 9.x๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์‹œ์Šคํ…œ." ๋˜๋Š” ์œ ์‚ฌ.

์ข‹์•„, ๋‚˜๋Š” ๋‚ด ๊ฒƒ์ด ์—ฌ์ „ํžˆ ํ˜ธ์Šค์— ๋ฌถ์—ฌ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์ง€ ์•Š์•˜์ง€๋งŒ ๋‚ด ์š”์ ์€ ๋” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์˜์—ญ์„ ๊ณต๊ฒฉ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ์ „์ฒด ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ATT&T์™€ ๋ฒ„ํด๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋ˆ„๊ฐ€ ์“ฐ๋ ˆ๊ธฐํ†ต์„ ๋งŒ๋“ค์—ˆ๋Š”์ง€์— ๋Œ€ํ•ด ์–•์žก์•„๋ณด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค... ๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ๋‹น์‹ ์ด aha1542์— ์„ค์น˜ํ•ด์•ผ ํ•  ๋˜ฅ์ด ์žˆ๋‹ค๋ฉด, ๋ผ์ด์„ ์Šค๋กœ ์ธํ•ด ํˆฌ์—ฌ๋œ joilet๋ฅผ ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์ตœ๊ทผ์— ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ์ฒ˜์Œ์— ์ด ์ง“์„ ํ•˜๋Š” ์ด์œ ๋ฅผ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ์Šค๋„๋ฅผ ์œ„ํ•ด ์„ ํƒํ•˜๊ณ  ํ˜‘๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ์ „ํžˆ slackeware์™€ *bsd ๊ฒฝ๋กœ๊ฐ€ ์™œ ๋”ฅ์—”๋“œ์— ๋“ค์–ด๊ฐ”๋Š”์ง€ ์–ด๋ฆฌ๋‘ฅ์ ˆํ•˜์ง€๋งŒ ์–ด์จŒ๋“ , ๋‘ ์ง„์˜์—์„œ๋„ 1์ด ๋‹ค๋ฅธ ์ง„์˜์„ ๊ตฌ๋™ํ•˜๊ณ  ์ปค๋„์ด ์ง€๋ฃจํ•ด 2.x, 16+ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€์„œ, (๋‚˜๋Š” ์•„์ง ๋ฉ”๋‰ด์—์„œ promix ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์ง€๋งŒ, ๋‚˜๋Š” ๋น ์ ธ ๋‚˜์™€ ์ด์ œ ์ •๊ทœ ์ผ์ •์œผ๋กœ ๋Œ์•„๊ฐ€์„œ WTF๋Š” .app์„ ์–ป์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ์ด ๋˜ฅ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. (๋ฌผ๋ก  ๋ง์ณ.)

@pabloa์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค - ์ด๊ฒƒ์€ ์ง€๊ธˆ ์˜์›ํžˆ ๊ณ„์†๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด CentOS 7์˜ ๊ธฐ๋ณธ ์„ค์น˜๋Š” docker-compose ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์˜ˆ, @JohnBDonner , ๊ทธ ์ž‘์€ ๊นƒ๋ฐœ์ด ์ €์—๊ฒŒ ๋งŽ์€ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”

์ดˆ๊ธฐ ์˜ค๋ฅ˜

"'pywin32'๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. distutils๊ฐ€ ์„ค์น˜๋œ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ํ™•์ธํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ถ€๋ถ„ ์ œ๊ฑฐ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค."

๋‚ด๊ฐ€ ๊ฑฐ๊ธฐ ์–ด๋–ป๊ฒŒ?

๋‚ด ์ปดํ“จํ„ฐ์— pywin32==221์ด ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ์ด์ œ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „(pywin==224)์„ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ".whl"์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์–ป์—ˆ๊ณ  ์ด๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "'pywin32'๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. distutils๊ฐ€ ์„ค์น˜๋œ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋–ค ํŒŒ์ผ์— ์†ํ•˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ถ€๋ถ„ ์ œ๊ฑฐ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค."." . ์ €๋Š” py3.4 32๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Window 10 64๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ด ์ผ์„ ํ•˜๋Š” ์ด์œ ๋Š”?

๋‚ด ์ปดํ“จํ„ฐ์˜ "win32.client"์—๋Š” "์ตœ์ ํ™”" python ํŒŒ์ผ ".pyo ํŒŒ์ผ ํ™•์žฅ๋ช…"๋งŒ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” "from win32com.client import Dispatch"์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” "Dispatch" ๋ชจ๋“ˆ์ด ์—†๋‹ค๋Š” ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋‚˜๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ˜• ๋ฏธ์ณค์–ด??

์•„๋‹ˆ์š”, ํ•˜์ง€๋งŒ ๋ฌด์ž‘์œ„๋กœ ์•…์šฉํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ฐ€ ์‹œ๊ฐ„์— ์ด ์ผ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋ณด๋žŒ ์žˆ๋Š” ์ผ์ž…๋‹ˆ๋‹ค. :์Šค๋งˆ์ผ:

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์ด ์™œ ๊ทธ๋Œ€๋กœ์ธ์ง€, ์™œ pip๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š”์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์ƒํ™ฉ์— ๋Œ€ํ•ด ์Šฌํผํ•œ๋‹ค๊ณ  ํ•ด์„œ ์ƒํ™ฉ์ด ๋ฐ”๋€Œ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

disyutils์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
ํ•„์š”ํ•œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?
2018๋…„ 11์›” 22์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 12:56 Paul Moore [email protected]
์ผ๋‹ค:

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•จ์ด์—ˆ๋‹ค.
์ƒํ™ฉ์€ ๊ทธ๋Œ€๋กœ์ด๋ฉฐ pip๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋‹จ์ง€
์‚ฌ๋žŒ๋“ค์ด ์ƒํ™ฉ์— ๋Œ€ํ•ด ์Šฌํผํ•œ๋‹ค๊ณ  ํ•ด์„œ ์ƒํ™ฉ์ด ๋ฐ”๋€Œ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/pypa/pip/issues/5247#issuecomment-441095536 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/ADrjCZvIpDr4X1sxcSZe3rRH7MBnn7Tsks5uxuVagaJpZM4TWMU4
.

>

๋‹‰ ์•„ํŠธ๋งŒ
+1 (330) 558-1230

๋‚˜๋Š” distutils์—์„œ ์ผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์š”์ฆ˜ ์‚ฌ๋žŒ๋“ค์€ ์–ด์จŒ๋“  distutils๋ฅผ ์‚ฌ์šฉํ• ๊นŒ์š”? ์ด ์Šค๋ ˆ๋“œ๋Š” distutils๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ ์„ค์น˜๋œ ํŒจํ‚ค์ง€์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์€ ์ด๋ฏธ ์ด ์Šค๋ ˆ๋“œ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค .

@AddoSolutions ๋‹น์‹ ์ด ์š”๊ตฌํ•˜๋Š” ๋ฐ”๋กœ ๊ทธ ๋ณ€ํ™”๋ฅผ setuptools

๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ด ์Šค๋ ˆ๋“œ์— ์žˆ๋Š” ์ด์œ ๋Š” ๋‚ด๊ฐ€ ๋ฐ”๋‹๋ผ๋กœ ์ž์ฃผ ์ž‘์—…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
CentOS 7 ์ƒ์ž์— ํŠนํžˆ docker compose๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์„ผํŠธOS
pip์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฉฐ ๋ฌธ์ œ๋Š” ์„ค๋ช… ๋œ๋Œ€๋กœ ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์œ„์—.

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ Python ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ฉฐ docker compose๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 
๊ทธ๊ฒƒ์— ์…”ํ‹€. ๊ฐœ์ธ์ ์œผ๋กœ setuptools์˜ ์ฐจ์ด์ ์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋ฐ distutils, CentOS python์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์„ค์น˜์‹œ yum ์‚ฌ์šฉ?

๋‘ ๊ฐ€์ง€: yum ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค์Œ์„ ํฌํ•จํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์˜ฌ๋ฐ”๋ฅธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ? ๋˜๋Š” ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด
๋ฉ”์‹œ์ง€๋Š” ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋” ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ? ๋Œ€์‹ ์ฒ˜๋Ÿผ
distutils์— ๋Œ€ํ•œ ๋น„๊ต์  ๋น„๋ฐ€์Šค๋Ÿฌ์šด ๋ฉ”์‹œ์ง€
pip ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€์กฐ์ฐจ ๋ชจ๋ฆ…๋‹ˆ๋‹ค) "๊ธธ
pip๊ฐ€ ์„ค์น˜๋œ ๊ฒƒ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
x๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ x๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค." ๊ทธ๋Ÿด ๊ฒƒ ๊ฐ™์•„
๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค.

์ƒ๊ฐ?

์ฐธ๊ณ : ๋‚˜๋Š” ๊ทธ ์ฐจ์ด๋ฅผ ํŒŒํ—ค์น  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์™„์ „ํžˆ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์•„๋งˆ๋„ ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฏธ๋ž˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์„ ์š”๊ตฌํ•˜๊ณ  ๋˜ํ•œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์น ๋ฉด์กฐ :)
2018๋…„ 11์›” 22์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 1:19 Ronny Pfannschmidt [email protected]
์ผ๋‹ค:

@AddoSolutions https://github.com/AddoSolutions ๋‹น์‹ ์ด ์š”๊ตฌํ•˜๋Š” ๋ฐ”๋กœ ๊ทธ ๋ณ€ํ™”
for๋Š” setuptools๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/pypa/pip/issues/5247#issuecomment-441099032 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/ADrjCTBfoKjBuYdceDeBM0bunByQ2bxJks5uxuq2gaJpZM4TWMU4
.

>

๋‹‰ ์•„ํŠธ๋งŒ
+1 (330) 558-1230

wrt yum ํŒจํ‚ค์ง€์˜ ์—…๋ฐ์ดํŠธ - ๊ทธ๊ฒƒ์€ ๊ฑฐ์˜ ๋ฐฐํฌํŒ์˜ ์ผ์ž…๋‹ˆ๋‹ค - ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๊ทธ๊ฒƒ์„ ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ํŒจํ‚ค์ง€ ์ž์ฒด๋„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌํŒ์˜ ๊ฒฝ์šฐ - ์ƒํ™ฉ์ด ๋„ˆ๋ฌด ๊ตฌ์‹์ž…๋‹ˆ๋‹ค - ๊ณต๊ธ‰์—…์ฒด์™€ ํ•จ๊ป˜ ํ•ด๊ฒฐํ•˜์‹ญ์‹œ์˜ค - ์˜คํ”ˆ ์†Œ์Šค ์—…์ŠคํŠธ๋ฆผ์€ ์ด์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์—†์œผ๋ฉฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌํŒ์—์„œ ์„ ํƒํ•œ ์ง€์› ๋ถ€๋‹ด์„ ๊ฐ๋‹นํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค - ๋”ฐ๋ผ์„œ ๊ณต๊ธ‰์—…์ฒด์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค

์žก์•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ pip ํŒจํ‚ค์ง€๋Š” CentOS์—์„œ ์œ ์ง€ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
pip ๊ทธ๋ฃน์ด ์•„๋‹Œ ๊ทธ๋ฃน?
2018๋…„ 11์›” 22์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 5:38 Ronny Pfannschmidt [email protected]
์ผ๋‹ค:

yum ํŒจํ‚ค์ง€์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.
๋ฐฐํฌ - ์•„์ง ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ํŒจํ‚ค์ง€๋„ ์—†์Šต๋‹ˆ๋‹ค.
์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์Šค์Šค๋กœ

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌํŒ์˜ ๊ฒฝ์šฐ - ์ •๋ง ๊ณ ํ†ต์Šค๋Ÿฝ๊ฒŒ ๊ตฌ์‹์ž…๋‹ˆ๋‹ค -
๊ณต๊ธ‰์—…์ฒด์™€ ํ•จ๊ป˜ ํ•ด๊ฒฐํ•˜์„ธ์š”. ์˜คํ”ˆ ์†Œ์Šค ์—…์ŠคํŠธ๋ฆผ์€ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ๋‹น์‹ ์˜ ์„ ํƒ์— ๋Œ€ํ•œ ์ง€์› ๋ถ€๋‹ด์„ ๊ฐ๋‹นํ•  ํ•„์š”๊ฐ€ ๊ฒฐ์ฝ” ์—†์–ด์•ผํ•ฉ๋‹ˆ๋‹ค
์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌํŒ - ๊ณต๊ธ‰์—…์ฒด์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/pypa/pip/issues/5247#issuecomment-441129627 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/ADrjCZAQ-ZBmpkm7izyKkE0WymSoT6M1ks5uxyd2gaJpZM4TWMU4
.

>

๋‹‰ ์•„ํŠธ๋งŒ
+1 (330) 558-1230

@AddoSolutions ๋ฌธ์ œ๋Š” pip๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. pip๋Š” ๋‹จ์ˆœํžˆ ๊ฐ€์‹์„ ์ค‘๋‹จํ•˜๊ณ  ์ •๋ง ๋‚˜์œ ๊ฒƒ์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ–ˆ์œผ๋ฉฐ ์ด์ œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌํŒ๊ณผ ๊ฐ™์€ ๋‚˜์œ ํ–‰์œ„์ž์— ๋Œ€ํ•ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ธก๋ฉด์—์„œ ํŒจํ‚ค์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌํŒ ๋ฐ ๊ณต๊ธ‰์—…์ฒด์™€ ํ•จ๊ป˜

์ฐธ๊ณ ๋กœ - ์ž„์˜์˜ ์ตœ์‹  ๋ฒ„์ „์ด ์•„๋‹Œ ์‹œ์Šคํ…œ(๊ณต๊ธ‰์—…์ฒด์—์„œ ๊ด€๋ฆฌ)์—์„œ pip๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

wxPython ๋Œ€ํ•ด ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

'wxPython'์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. distutils๊ฐ€ ์„ค์น˜๋œ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์†ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ํ™•์ธํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ถ€๋ถ„ ์ œ๊ฑฐ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

sitepackages ์•„๋‹ˆ๋ผ distpackages (์ดํ•ด๊ฐ€ ๋จ)์— ์žˆ์ง€๋งŒ ํด๋”์—์„œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์˜ณ์ง€ ์•Š๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.

apt ๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— apt remove --autoremove python-wxgtk3.0 ํ•˜๋ฉด ๋‚ด ์‹œ์Šคํ…œ์—์„œ ํŒจํ‚ค์ง€๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ "์šฐ๋ฆฌ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค."๋Š” pip์—์„œ ์˜ˆ์ƒ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํŒจํ‚ค์ง€ ์ถฉ๋Œ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ฒ™ํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์‹œ์Šคํ…œ์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ถ€๋กœ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด์ฃผ์‹  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” "pip install --upgrade pip" ์ด์ „์— "pip install docker" ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฌธ์ œ(์˜ˆ: ๋ฐ์ดํ„ฐ ์†์ƒ)๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

pip3 install -r requirements.txt --user

https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption - ์‚ฌ์šฉ์ž

๋˜ํ•œ ํ˜ธํ™˜๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ™˜๊ฒฝ/ distutils ์˜ํ•ด ์„ค์น˜๋œ ์ž„์‹œ ์ข…์†์„ฑ์˜ ์ •ํ™•ํ•œ ๋ฒ„์ „์œผ๋กœ ์ž‘์—…์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์˜ˆ์—์„œ Pipenv๋Š” awscli==1.15.85 ๋ฐ apache-airflow==1.10.1 ์˜ ์ผ์‹œ์ ์ธ PyYAML ์ข…์†์„ฑ์„ 3.13์œผ๋กœ ํ•ด๊ฒฐํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์—๋Š” ์ด๋ฏธ 3.11์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋กœ์ปฌ ๊ฐœ๋ฐœ ์‹œ์Šคํ…œ์—์„œ ์„ ์–ธ๋œ ์ข…์†์„ฑ์„ ์‚ดํŽด๋ณด๋ฉด 3.11์ด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

$ pipenv graph | egrep 'airflow|awscli|PyYAML'
apache-airflow==1.10.1
    - PyYAML [required: >=3.0, installed: 3.13]
awscli==1.15.85
  - PyYAML [required: >=3.10,<=3.13, installed: 3.13]

๊ฐ„๋‹จํ•œ pipenv install PyYAML==3.11 ๋Š” PyYAML์„ 3.11์— ๊ณ ์ •ํ•˜๊ณ  ๋‘ ํŒจํ‚ค์ง€๋ฅผ ๋งŒ์กฑ์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

$ pipenv install PyYAML==3.11
Installing PyYAML==3.11โ€ฆ
...
Locking [packages] dependenciesโ€ฆ
โœ” Success!

$ pipenv graph | egrep 'airflow|awscli|PyYAML'
apache-airflow==1.10.1
    - PyYAML [required: >=3.0, installed: 3.11]
awscli==1.15.85
  - PyYAML [required: >=3.10,<=3.13, installed: 3.11]

My Pipfile / Pipfile.lock์€ ์ดํ›„ pipenv install --deploy --system ์‚ฌ์šฉํ•˜์—ฌ Ubuntu 14.04LTS์— ๊น”๋”ํ•˜๊ฒŒ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ํ™•์ธํ–ˆ๋Š”๋ฐ PyYAML==3.11 ๊ฐ€ python3-yaml 3.11-3build1์„ ํ†ตํ•ด ์„ค์น˜๋˜์—ˆ์œผ๋ฉฐ ์ด๋Š” ์šฐ๋ฆฌ๊ฐ€ EC2์—์„œ ์‹คํ–‰ํ•  ๋•Œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” cloud-init 18.4-0ubuntu1~16.04.2์˜ ์ง์ ‘์ ์ธ ์ข…์†์„ฑ์ž…๋‹ˆ๋‹ค. 18.04 LTS์™€ 18.10์€ ๋ชจ๋‘ PyYAML 3.12์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฉฐ 19.04๋งŒ PyYAML ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด

์ฆ‰, ์‹œ์Šคํ…œ ์ข…์†์„ฑ๊ณผ ํ™˜๊ฒฝ ๋ฌธ์ œ๋ฅผ ์–ด๋–ค ๋Œ€๊ฐ€๋ฅผ ์น˜๋ฅด๋”๋ผ๋„ ํ”ผํ•˜์‹ญ์‹œ์˜ค. pipenv ๋ฐ/๋˜๋Š” virtualenv ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ถ•์†Œ ๋ฒ„์ „,
    pip install --upgrade --force-reinstall pip==9.0.3
  2. ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.
    pip install xxx --disable-pip-version-check
  3. ๋งˆ์ง€๋ง‰์œผ๋กœ pip์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
    pip install --upgrade pip

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ดํ›„์— pip๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์„ค์น˜๋œ ํŒจํ‚ค์ง€์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?

@s-eswar ์ง€๊ธˆ๊นŒ์ง€ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ๋ฌธ์ œ๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์ง€๋งŒ pip ์„ค์น˜ ํŒจํ‚ค์ง€์˜ ์ƒ์œ„ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜์œ„ ๋ฒ„์ „์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ํ™•์ธํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์ข…์†์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ๋‚ฎ์€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ• 9.0.3.

@s-eswar ์ง€๊ธˆ๊นŒ์ง€ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ๋ฌธ์ œ๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์ง€๋งŒ pip ์„ค์น˜ ํŒจํ‚ค์ง€์˜ ์ƒ์œ„ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•˜์œ„ ๋ฒ„์ „์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ ์ข…์†์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฐ€์ง€ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ๋‚ฎ์€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ• 9.0.3.

@wangxf1987 ํ•˜์ง€๋งŒ ๋™์ผํ•œ ๊ตฌ์„ฑ์˜ ML ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์—…๊ทธ๋ ˆ์ด๋“œ/๋‚ฎ์€ ๋ฒ„์ „ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@s-eswar prefect๊ฐ€ ํ•˜์œ„ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ•˜๋Š”์ง€ ML ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. pip=9.0.3์„ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์‹  ๋ฒ„์ „์˜ Kubernetes์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์˜ pip๊ฐ€ ํ•„์š”ํ•œ์ง€ ๋˜๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์š”๊ตฌ ์‚ฌํ•ญ ํŒŒ์ผ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pip 8 ์ดํ›„๋กœ ๋ฌธ์ œ์˜ ์›์ธ์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์„ ์ค‘๋‹จํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋‹น์‹œ ๋„ˆ๋ฌด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์ณค๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์‹œ๋„๊ฐ€ ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. pip 10์„ ์‚ฌ์šฉํ•˜์—ฌ distutils ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ๋งˆ์นจ๋‚ด ์ค‘๋‹จํ–ˆ์œผ๋ฉฐ ์ด์ œ ์—ฌ๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

"์ด์ œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค" ๋ผ๋Š” ๋ถ€๋ถ„์ด

Dist ํŒจํ‚ค์ง€ ์ œ๊ฑฐ ๋ฐ ์‹คํ–‰

sudo rm -rf /usr/lib/python3/dist-packages/yaml

sudo rm -rf /usr/lib/python3/dist-packages/PyYAML-*

distutils์—์„œ ํด๋” ์ œ๊ฑฐ ์ž‘์—…

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ pip๋Š” ์•„์ด๋Ÿฌ๋‹ˆํ•œ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ์ˆ˜๋™์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ.../anaconda3/lib/python3.*/site-packages/๋กœ ์ด๋™ํ•˜์—ฌ ํŒจํ‚ค์ง€์˜ ๋ชจ๋“  ํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค.

@๋ผ๋ชจ๋‚˜๋ฏธ์Šค sudo pip install --ignore-installed PyYAML

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ imutils์—์„œ๋„ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

pip install --upgrade imutils --ignore-installed imutils

๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ถ•์†Œ ๋ฒ„์ „:
    pip install --upgrade --force-reinstall pip==9.0.3
  2. ํŒจํ‚ค์ง€ ์žฌ์„ค์น˜ ์‹œ๋„:
    pip install xxx --disable-pip-version-check
  3. ๋งˆ์ง€๋ง‰์œผ๋กœ pip์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
    pip install --upgrade pip

๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

1. Reduced version:
   `pip install --upgrade --force-reinstall pip==9.0.3`

2. Tried to re-install package:
   `pip install xxx --disable-pip-version-check`

3. At last, recover the latest version for pip:
   `pip install --upgrade pip`

์ด๊ฒƒ์€ ๋‚˜์œ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-pip : Depends: python-pip-whl (= 9.0.1-2.3~ubuntu1) but 9.0.1-2.3~ubuntu1.18.04.1 is to be installed
               Recommends: python3-dev (>= 3.2) but it is not going to be installed
               Recommends: python3-setuptools but it is not going to be installed
               Recommends: python3-wheel but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
E: Could not read response to hello message from hook [ ! -f /usr/bin/snap ] || /usr/bin/snap advise-snap --from-apt 2>/dev/null || true: Success

์ง€๊ธˆ ์ด ์Šค๋ ˆ๋“œ๋ฅผ ์ž ๊ทธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @pfmoore ์˜ ์ดˆ๊ธฐ ์˜๊ฒฌ์€ ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด ์Šค๋ ˆ๋“œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ์ง€์› ์š”์ฒญ์ด๋‚˜ ์œ ์ง€ ๊ด€๋ฆฌ์ž์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ๋‚จ์šฉ์œผ๋กœ ๋ˆ„์„ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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