Pip: 20.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Œ

์— ๋งŒ๋“  2020๋…„ 01์›” 21์ผ  ยท  94์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pip

ํ™˜๊ฒฝ

  • ํ• ๋ฒ„์ „: 20.0
  • ํŒŒ์ด์ฌ ๋ฒ„์ „: 3.6.8
  • OS: Ubuntu 14.04.6(ํŒ๋‹จํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค)

์„ค๋ช…

๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์— pip์—์„œ ์ž๋™์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. 20.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„(pip install -U pip setuptools ์‚ฌ์šฉ) ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‚ฐ์ถœ

Traceback (most recent call last):
  File "/home/svc-web/webshop/env/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/home/svc-web/webshop/env/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'

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

์‹ค์ˆ˜, ๋ฌธ์ œ ๋ฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์‚ฌ๊ณ ๋Š” ๊ทธ๋Ÿฌํ•œ ์ด๋ฒคํŠธ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ๊ณ„ํšํ•˜๊ณ  ์™„ํ™”ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋“  ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์› ๋ด‰์‚ฌ์ž Pythonistas๊ฐ€ ์ด๊ฒƒ์„ ์กฐ์‚ฌํ•˜๊ณ  ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ์ด์ต์„ ์œ„ํ•ด ์ˆ˜์ •ํ•˜๋„๋ก ์ƒ๊ฐํ•˜๊ณ  ์ง€์ง€ํ•˜๋Š” ์˜๊ฒฌ์„ ๋‚จ๊ฒจ๋‘์‹ญ์‹œ์˜ค.

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

๋‚˜๋Š” ๊ฐ™์€ ๊ฒƒ์„ ๋ณธ๋‹ค:

$ pip install requests
Traceback (most recent call last):
  File "/home/ntoll/.virtualenvs/sdclient/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/home/ntoll/.virtualenvs/sdclient/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)

Ubuntu 18.04์˜ Python 3.7.2

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค https://github.com/pypa/pip/pull/7619#issuecomment -576649700

๋ถˆ๊ฒฐํ•œ dist ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

Fedora 29์˜ Python 3.7.5์™€ ์™„์ „ํžˆ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. virtualenvs ์™€ --user ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ pip3.7 ๋˜๋Š” python3.7 -m pip ๋ฅผ ์‹คํ–‰ํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  @ntoll ์ด ์•„๋ž˜์—์„œ ์ œ์•ˆํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ด ๋ถˆํ–‰ํ•œ ๊ฒฐํ•จ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ฒฝ์˜๋ฅผ ํ‘œํ•ฉ๋‹ˆ๋‹ค! ์—ฌ๊ธฐ์—์„œ ์ค‘๋ฆฝ์ ์ด๊ณ  ์ง€์ง€์ ์ธ ๋Œ“๊ธ€๋งŒ ๋ณด๋‹ˆ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. ์ตœ๊ณ ์˜ ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ.

์—ฌ๊ธฐ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Android 9 termux์˜ python 3.8.1์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋™์ผํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค

python:3.8-buster ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„์ปค ๋นŒ๋“œ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Step 1/6 : FROM python:3.8-buster
 ---> 0a3a95c81a2b
Step 2/6 : ADD . /app
 ---> a3be40376bd8
Step 3/6 : WORKDIR /app
 ---> Running in 6f53960d3257
Removing intermediate container 6f53960d3257
 ---> 14b7a3ccf004
Step 4/6 : RUN pip install --upgrade pip setuptools
 ---> Running in 6f9dfc84e0a3
Collecting pip
  Downloading https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl (1.5MB)
Collecting setuptools
  Downloading https://files.pythonhosted.org/packages/a7/c5/6c1acea1b4ea88b86b03280f3fde1efa04fefecd4e7d2af13e602661cde4/setuptools-45.1.0-py3-none-any.whl (583kB)
Installing collected packages: pip, setuptools
  Found existing installation: pip 19.3.1
    Uninstalling pip-19.3.1:
      Successfully uninstalled pip-19.3.1
  Found existing installation: setuptools 41.6.0
    Uninstalling setuptools-41.6.0:
      Successfully uninstalled setuptools-41.6.0
Successfully installed pip-20.0 setuptools-45.1.0
Removing intermediate container 6f9dfc84e0a3
 ---> 4db4dd1c01a1
Step 5/6 : RUN pip install -r requirements.txt
 ---> Running in 01e0b70d0d81
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/usr/local/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. Docker์—์„œ Ubuntu 18.04 ๋ฐ Alpine Linux๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Python 3.7.4.

macOS์˜ MacPorts Python์—์„œ๋„ ๋™์ผ:

$ rm -rf venv && python3.8 -m venv venv && ./venv/bin/python -m pip install -U pip && ./venv/bin/python -m pip install requests
Collecting pip
  Using cached https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-20.0
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  ...
  File "/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/Users/messa/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)

๋˜‘๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Python 3.7.6, ์‹œ์Šคํ…œ: Mac OS Catalina

Ubuntu 19.04 ๊ธฐ๋ณธ๊ฐ’์ธ Python 3.7.3์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์‹ค์ˆ˜, ๋ฌธ์ œ ๋ฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์‚ฌ๊ณ ๋Š” ๊ทธ๋Ÿฌํ•œ ์ด๋ฒคํŠธ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ๊ณ„ํšํ•˜๊ณ  ์™„ํ™”ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋“  ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์› ๋ด‰์‚ฌ์ž Pythonistas๊ฐ€ ์ด๊ฒƒ์„ ์กฐ์‚ฌํ•˜๊ณ  ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ์ด์ต์„ ์œ„ํ•ด ์ˆ˜์ •ํ•˜๋„๋ก ์ƒ๊ฐํ•˜๊ณ  ์ง€์ง€ํ•˜๋Š” ์˜๊ฒฌ์„ ๋‚จ๊ฒจ๋‘์‹ญ์‹œ์˜ค.

pip ์˜ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์ฃผ๋ชฉํ•˜์„ธ์š”. ํ•˜์ง€๋งŒ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 1) ๊นจ๋—ํ•œ dist๋ฅผ ์ž˜๋ผ๋‚ด๊ณ  ๋ฒ„์ „์„ ๋ฒ”ํ”„ํ•ฉ๋‹ˆ๋‹ค. 2) ์ ์–ด๋„ pypi์—์„œ 20๊ฐœ๋ฅผ ๋นผ๋‚ด์‹ญ์‹œ์˜ค(์ด๋ฏธ ๋„ˆ๋ฌด ๋Šฆ์—ˆ์„ ์ˆ˜ ์žˆ์Œ).

๊ทธ ๋™์•ˆ virtualenv ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

virtualenv venv --no-pip
source venv/bin/activate
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip==19.3.1

์šฐ๋ฆฌ์˜ ๋นŒ๋“œ ์‹œ์Šคํ…œ๋„ ์ด๊ฒƒ๊ณผ ํ•จ๊ป˜ ๋‹ค์šด๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์šด ์ข‹๊ฒŒ๋„ ์ค‘์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ @ntoll ์˜ ๋ง์— ๊ฐ€๋”์€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

@pradyunsg ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. PyPI์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@xdralex ์˜ˆ :+1: ๋ฐฉ๊ธˆ ๋น„์Šทํ•œ ๊ฒƒ์„ ์ž…๋ ฅํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ธ€๋กœ๋ฒŒ ํ™˜๊ฒฝ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ pip ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ virtualenv venv --no-download ๋Š” ๊นจ์ง„ ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  ํ•ด๋‹น ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์™„์ „์„ฑ์„ ์œ„ํ•ด์„œ๋งŒ: Windows๋„ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. Win10 + Python 3.7.4(WinPython):

python -m pip uninstall pip Traceback (most recent call last): File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\__main__.py", line 19, in <module> sys.exit(_main()) File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\cli\main.py", line 73, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_args)) File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\commands\__init__.py", line 96, in create_command module = importlib.import_module(module_path) File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\commands\uninstall.py", line 9, in <module> from pip._internal.cli.req_command import SessionCommandMixin File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\cli\req_command.py", line 20, in <module> from pip._internal.operations.prepare import RequirementPreparer File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\operations\prepare.py", line 16, in <module> from pip._internal.distributions import ( File "v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\distributions\__init__.py", line 1, in <module> from pip._internal.distributions.source import SourceDistribution ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (v:\bin\scripting\python\3.7.4\python-3.7.4.amd64\lib\site-packages\pip\_internal\distributions\source\__init__.py)

20.0์„ ์„ค์น˜ํ•œ ํ›„ pip ๋˜๋Š” python -m pip ๋ช…๋ น์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 19.3์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: ์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

OP์˜ pip install -U pip setuptools ์™€ ๋น„์Šทํ•œ ์ผ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊นจ์ง„ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด - ํŠน์ • ๋ฒ„์ „์„ ๊ธˆ์ง€ํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ์ด๊ฒƒ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Œ์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค.

์ด ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ๋กœ์ปฌ์—์„œ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ pip install -U "pip<20" setuptools
$ pip install -U "pip!=20.0" setuptools

pip ๋Š” ์ตœ์‹  ๋ฒ„์ „์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜์ง€๋งŒ v20.0 ๋Š” ์„ค์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@james-gonzalez ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์ด CI์˜ ์ผ๋ถ€์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

https://pip.pypa.io/en/latest/development/release-process/#creating -a-new-release๋ฅผ ์ฝ๊ณ  master ๋ฅผ ํ™•์ธํ•œ ํ›„ git clean์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  Ubuntu์™€ ์ตœ์‹  Arch Linux๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊นจ๋—ํ•œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด virtualenv์—์„œ get-pip๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค./
Ive๋Š” pip/_internal/distributions/ ํด๋”์— source.py ๋ผ๋Š” python ํŒŒ์ผ๊ณผ source ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ˆ˜๋™์œผ๋กœ ํด๋”๋ฅผ ์ œ๊ฑฐํ–ˆ๊ณ  pip๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

pip๊ฐ€ ๋‹ค์‹œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ get-pip.py ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
python get-pip.py pip==19.3.1
์ด๊ฒƒ์€ pip๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

์ž์‹ ์˜ CI ํ…Œ์ŠคํŠธ๋ฅผ ๋“ฃ์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์œ ์ง€ ๊ด€๋ฆฌ์ž๋„ ์ธ๊ฐ„์ด๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ค์ˆ˜๋Š” ์‹ค์ œ๋กœ ์ด ์ข…์—์„œ ํ”ํžˆ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ•ญ์ƒ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค. ์šฐ๋ฆฌ๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋น„๋‚œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ทธ๋“ค ๋˜๋Š” ์ง€์—ญ ์‚ฌํšŒ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ง€์›์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ repo(20.1.dev)์—์„œ pip๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ pip install -e ./pip ๋ฅผ ๋ณต์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

Btw, ๋ˆ„๋ฝ ๋œ ์ˆ˜์ž…ํ’ˆ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

pip\_internal\distributions\source\__init__.py

from .legacy import SourceDistribution

ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. CI ์‹œ์Šคํ…œ์— ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

https://github.com/pypa/pip/issues/7217
์ด์ „ ๋ฒ„์ „ ์„ค์น˜:
์ปฌ https://bootstrap.pypa.io/get-pip.py -o get-pip.py
ํŒŒ์ด์ฌ get-pip.py pip==19.3.1

๊ฐ€๋Šฅํ•œ ๋กœ์ปฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:
https://github.com/pypa/pip/issues/7217#issuecomment -576653463

./site-packages/pip/_internal/distributions/source ํด๋”๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ https://github.com/pypa/pip/issues/7217์—์„œ ๋งํฌ๋œ ๋Œ€๋กœ https://github.com/pypa/pip/pull/7621์—์„œ ์ˆ˜์ • ์ค‘์ž…๋‹ˆ๋‹ค. :)

๋™์ผํ•˜๋ฉฐ EC2 ์ธ์Šคํ„ด์Šค์˜ Amazon Linux์™€ ๋กœ์ปฌ Fedora ์‹œ์Šคํ…œ ๋ชจ๋‘์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆœ์ˆ˜ํ•œ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ๋งˆ์ง€๋ง‰ ํŒŒ์ดํ”„๋ผ์ธ์ด ์ด ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Œ์—๋„ ์ด ๋ฒ„์ „์ด ์ถœ์‹œ๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? https://travis-ci.org/pypa/pip/builds/639902383

์ „ํ˜€ ๋‚ ์นด๋กœ์šด ๋ฐœ์–ธ์ด ์•„๋‹ˆ๋ผ ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค์™€ ํ–ฅํ›„ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค!

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ง€์†์ ์ธ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :+1:

์ตœ๊ทผ์— "python -m pip install --upgrade pip"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pip 20.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„ "pip list" ๋ช…๋ น๋„ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ƒˆ ๋ฒ„์ „ 20.0.1์ด ๋ฆด๋ฆฌ์Šค๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ "python -m pip install --upgrade pip"๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  pip ๋ฒ„์ „ 20.0.1๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@nachiketrss get-pip.py ๋กœ ์„ค์น˜ ์‹œ๋„

@nachiketrss ์ปฌ https://bootstrap.pypa.io/get-pip.py | ํŒŒ์ด์ฌ

๋˜๋Š” ํŒŒ์ด์ฌ3

Python3.6์ด ํฌํ•จ๋œ CentOS 7์˜ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜:

$ cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

$ mkvirtualenv --python=/usr/bin/python3.6 foo

(foo) $ which python
~/.virtualenvs/foo/bin/python


(foo) $ which pip
~/.virtualenvs/foo/bin/pip

(foo) $ pip --version
pip 20.0 from /home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip (python 3.6)


(foo) $ pip list
Traceback (most recent call last):
  File "/home/foo/.virtualenvs/foo/bin/pip", line 10, in <module>
    sys.exit(main())
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/home/foo/.virtualenvs/foo/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 13, in <module>
    from pip._internal.cli.req_command import IndexGroupCommand
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'

๋” ์ด์ƒ pip 20.0.1 ๋ฆด๋ฆฌ์Šค์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ๋นŒ๋“œ ๋กœ๊ทธ @lerela๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ์ž‘์—… ์‹คํŒจ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

20.0.1์—์„œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Python3.6์ด ํฌํ•จ๋œ CentOS 7์˜ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜:

$ cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

$ mkvirtualenv --python=/usr/bin/python3.6 foo

(foo) $ which python
~/.virtualenvs/foo/bin/python


(foo) $ which pip
~/.virtualenvs/foo/bin/pip

(foo) $ pip --version
pip 20.0 from /home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip (python 3.6)


(foo) $ pip list
Traceback (most recent call last):
  File "/home/foo/.virtualenvs/foo/bin/pip", line 10, in <module>
    sys.exit(main())
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/home/foo/.virtualenvs/foo/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/commands/list.py", line 13, in <module>
    from pip._internal.cli.req_command import IndexGroupCommand
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
    from pip._internal.operations.prepare import RequirementPreparer
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
    from pip._internal.distributions import (
  File "/home/foo/.virtualenvs/foo/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
    from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'

ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์„ ๋‹ซ๊ณ  ์ƒˆ ํ„ฐ๋ฏธ๋„๋กœ ์ž‘์—…ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ์‡„.

๋‚˜๋Š” ์ด ์ผ์„ ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด ์ž์› ๋ด‰์‚ฌ์ž๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ๊ทธ๋“ค์ด ํ•˜๋Š” ๋ชจ๋“  ์ผ์— ๋Œ€ํ•ด ์ •๋ง ๊ธฐ์ฉ๋‹ˆ๋‹ค!

๊ทธ๋Ÿฌ๋‚˜ @lerela ๊ฐ€ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์–ด๋–ป๊ฒŒ ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๊ณ  ๊ทธ๋Ÿฌํ•œ ์‹ค์ˆ˜๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Pip์€ ์ „์ฒด ์†Œํ”„ํŠธ์›จ์–ด ์‚ฐ์—…์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ•ต์‹ฌ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ตœ์†Œํ•œ ๊ธฐ๋ณธ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•˜์Œ์—๋„ ์ƒˆ ๋ฒ„์ „์ด ์ถœ์‹œ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค ์ „์— ์ด๋Ÿฌํ•œ ๋นŒ๋“œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๊นŒ?
๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋“  ๊ด€๋ฆฌ๋˜๊ณ  ๊ฒ€ํ† ๋ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์›๋งจ์‡ผ์ž…๋‹ˆ๊นŒ?

๊ธ‰ํ•œ ํ•ซํ”ฝ์Šค ๋ฆด๋ฆฌ์Šค์—์„œ ์ด๋Ÿฌํ•œ ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฒ„์ „ 20์€ 19.3.1 ์ดํ›„ ๋ช‡ ๋‹ฌ ํ›„์— ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„, ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์ผ์œผํ‚จ ์›์ธ์„ ์•Œ์•„๋ƒˆ๊ณ  ๊ทธ๊ฒƒ์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/pypa/pip/pull/7624

์ˆœ์ˆ˜ํ•œ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ๋งˆ์ง€๋ง‰ ํŒŒ์ดํ”„๋ผ์ธ์ด ์ด ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Œ์—๋„ ์ด ๋ฒ„์ „์ด ์ถœ์‹œ๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? https://travis-ci.org/pypa/pip/builds/639902383

์ „ํ˜€ ๋‚ ์นด๋กœ์šด ๋ฐœ์–ธ์ด ์•„๋‹ˆ๋ผ ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค์™€ ํ–ฅํ›„ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค!

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ง€์†์ ์ธ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ‘

@lerela @pabelanger ๊ทธ๊ฒƒ์€ ์—ฌ๊ธฐ์„œ ์ผ์–ด๋‚œ ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค: ๊ทธ ๋นŒ๋“œ ๋กœ๊ทธ๋Š” ๋ฆด๋ฆฌ์Šค๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค( ๊ทธ ์ปค๋ฐ‹ ์€ ๋ฆด๋ฆฌ์Šค ์ค‘์— ์Šคํฌ๋ฆฝํŠธ ์— ์˜ํ•ด ์‹คํ–‰๋จ) ์‹คํŒจํ•œ ๋นŒ๋“œ ๋กœ๊ทธ(์˜ˆ: ์ด ๋กœ๊ทธ):

Using cached https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl

์ด๊ฒƒ์ด ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์–ผ๋งˆ ์ „์— ๋ณ‘ํ•ฉ๋˜์—ˆ์œผ๋ฉฐ ์†Œ์Šค ์ฝ”๋“œ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฆ‰์‹œ ์‹คํŒจ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, '์ถฉ๋ถ„ํžˆ ์˜ค๋ž˜๋œ' pip(9.0.1์€ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๊ฒƒ)์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ๋‚จ๊ฒจ์ง„ ์ธ๊ณต๋ฌผ์— ์˜ํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(์ ์–ด๋„ ํ˜„์žฌ๋กœ์„œ๋Š” ๊ธฐ๋ณธ ๋ฒ„๊ทธ๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Œ).

์ด ๋ฌธ์ œ๋Š” ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ํฌ์ฐฉ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ฐœ์„  ์‚ฌํ•ญ์€ @lerela @pabelanger ๋ฅผ ํ™˜์˜ํ•˜๊ณ  pip์— ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค!

ํ™•์ธ, ์ƒˆ ๊ธฐ๋ฐ˜ Python ์•ฑ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด AWS Beanstalk๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค...

@pradyunsg ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด ec2 ์ธ์Šคํ„ด์Šค์˜ pip ๋ฅผ pip20.0์—์„œ 20.1๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ์—ฌ์ „ํžˆ ์ด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. sudo pip2 install -U pip2 .

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด ec2 ์ธ์Šคํ„ด์Šค์˜ pip ๋ฅผ pip20.0์—์„œ 20.1๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ์—ฌ์ „ํžˆ ์ด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. sudo pip2 install -U pip2 .

https://github.com/pypa/pip/issues/7620#issuecomment -576669697

@fideloper ์งˆ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ฐฉ๊ธˆ ๋‹ค๋ฅธ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ต๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/pypa/pip/issues/7217#issuecomment -576698030

@honnix ์˜ ์ œ์•ˆ๋„ ํšจ๊ณผ๊ฐ€ ์žˆ์ง€๋งŒ curl ... | python ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ข‹์•„์š”, ๋ชจ๋‘ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@fideloper ๋˜ํ•œ ๋ฐฐํฌํŒ์ด CPython์—์„œ ensurepip ๋ฅผ ๋œฏ์–ด๋‚ด์ง€ ์•Š์œผ๋ฉด python -m ensurepip ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ @cryvate์—์„œ ์‹คํ–‰๋˜๋Š” CI์— ๋Œ€ํ•œ ๋ถ„์„์„ ๊ฒŒ์‹œํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉ๊ธˆ ๋Œ์•„์™”๊ณ , ๊ท€ํ•˜์˜ ์˜๊ฒฌ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ ์ž…๋‹ˆ๋‹ค.

FWIW, pip 20.0 ์ด์ „ ์— ์‹คํŒจํ•œ ์œ ์ผํ•œ pip CI ์ž‘์—…์€ ์‹ค์ œ ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค์™€ ๋Œ€๋ถ€๋ถ„ ๊ด€๋ จ์ด ์—†๋Š” git+Windows+authors.txt ๋ฌธ์ œ๋กœ ์ธํ•ด Windows์šฉ ๋น„ํ…Œ์ŠคํŠธ ์ž‘์—…์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ ๊ณ ์ •๋˜์–ด ๋ณด์ธ๋‹ค. ์˜ค๋Š˜ ์•„์นจ CI ํŒŒ์ดํ”„๋ผ์ธ ์ค‘ ํ•˜๋‚˜์—์„œ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ์ด์ œ ์ˆ˜์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. pip install -U "pip<20" ๊ณ ์ •์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘๋™ํ–ˆ์ง€๋งŒ ์ง€๊ธˆ ์‹ค์ˆ˜๋กœ ์—†์ด ์‹œ๋„ํ–ˆ๊ณ  ์ˆ˜์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

20.0.1 ์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„์„ ๊ตฌ์„ฑํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” pip 19์—์„œ whl ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ์ง€๋งŒ 20.0 ๋ฐ 20.0.1์—์„œ tarball์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋นŒ๋“œ๋ฅผ ์‹œ๋„ํ•˜๋Š” xgboost==0.81 ์— ๋Œ€ํ•œ ์ข…์†์„ฑ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (๋นŒ๋“œ ์ฒด์ธ์— ํ•„์š”ํ•œ ๋„๊ตฌ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค).

@tomasaschan ๋นŒ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ•˜๋Š”์ง€, ์ด์ƒ์ ์œผ๋กœ๋Š” ์ตœ์†Œํ•œ์˜ ์žฌ์ƒ์‚ฐ์œผ๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@tomasaschan ์ œ ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๊ณ„์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” pip ์ž์ฒด์˜ ์ž˜๋ชป๋œ ์„ค์น˜์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ฒฝ์šฐ #6908๊ณผ ๊ฐ™์€ ํœ  ํƒœ๊ทธ ์ฃผ๋ณ€์—์„œ ์ผ๋ถ€ ๋™์ž‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณด๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

( xgboost ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์ƒํ•œ ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. xgboost-0.90-py2.py3-none-manylinux1_x86_64.whl ๊ฐ€ ์žˆ์ง€๋งŒ ๋งค์šฐ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์— manylinux1 ๋กœ ํ‘œ์‹œ๋˜๋Š” ์ปดํŒŒ์ผ๋œ C ํ™•์žฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์‹ค์ œ๋กœ py2.py3-none ์ผ ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. gevent-1.4.0-cp27-cp27m-manylinux1_x86_64.whl ์™€ ๋Œ€์กฐ)

sudo python get-pip.py pip==19.3.1
์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด

@pradyunsg @jamadden ์˜ค๋ฅ˜๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ Dockerfile์„ ๊ตฌ์„ฑํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ด€๋ฆฌํ•˜๋ฉด ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. (๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” FROM ์— ๋„ฃ์„ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ํŒŒํ—ค์ณ์•ผ ํ•˜๋Š” ๋‚ด๋ถ€ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค...)

๋‚˜์™€ ๊ฐ™์€ Py noob์˜ ์ด์ต์„ ์œ„ํ•ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊นจ๋—ํ•˜๊ณ  ์™„์ „ํ•œ ์ˆ˜์ • ๋˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ์ด๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋‚ด๊ฐ€ ๋ฐ›์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/lib/python3.8/site-packages/pip/_internal/index/__init__.py)
๋น ๋ฅธ ์ˆ˜์ •๊ณผ ์ž‘์„ฑ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@richard-steiger ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ˆ˜์ •์€ pip๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  pypi ์—์„œ v20.0.1์˜ tar.gz๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ "python setup.py install"์„ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •๋จ(Cygwin-X์—์„œ) !

blh@LPT-V-23 ~
$ ํŒŒ์ด์ฌ /cygdrive/c/Temp/get-pip.py pip==19.3.1
ํ• ์ˆ˜์ง‘==19.3.1
์บ์‹œ ํ•ญ๋ชฉ ์—ญ์ง๋ ฌํ™” ์‹คํŒจ, ํ•ญ๋ชฉ ๋ฌด์‹œ
์บ์‹œ ํ•ญ๋ชฉ ์—ญ์ง๋ ฌํ™” ์‹คํŒจ, ํ•ญ๋ชฉ ๋ฌด์‹œ
๋‹ค์šด๋กœ๋“œ https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none.any.w
100% |##################################| 1.4MB 585kb/s
์ˆ˜์ง‘๋œ ํŒจํ‚ค์ง€ ์„ค์น˜: pip
๊ธฐ์กด ์„ค์น˜ ๋ฐœ๊ฒฌ: pip 20.0
pip-20.0 ์ œ๊ฑฐ:
pip-20.0์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
pip-19.3.1์„ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
pip ๋ฒ„์ „ 19.3.1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋ฒ„์ „ 20.0.1์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
'pip install --upgrade pip' ๋ช…๋ น์„ ํ†ตํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

blh@LPT-V-23 ~
$ pip-review --local --๋Œ€ํ™”์‹
pexpect==4.8.0์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(4.7.0์ด ์žˆ์Œ)
์ง€๊ธˆ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [์˜ˆ]์˜ˆ, [์•„๋‹ˆ์˜ค]์•„๋‹ˆ์š”, [A]ll, [Q]์ข…๋ฃŒ y
pip==20.0.1์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(19.3.1์ด ์žˆ์Œ)
์ง€๊ธˆ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [์˜ˆ]์˜ˆ, [์•„๋‹ˆ์˜ค]์•„๋‹ˆ์š”, [A]ll, [Q]n
urllib3==1.25.8์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(1.25.7์ด ์žˆ์Œ)
์ง€๊ธˆ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [์˜ˆ]์˜ˆ, [์•„๋‹ˆ์˜ค]์•„๋‹ˆ์š”, [A]ll, [Q]์ข…๋ฃŒ y
์ˆ˜์ง‘ pexpect==4.8.0
๋‹ค์šด๋กœ๋“œ https://files.pythonhosted.org/packages/39/7b/88dbb785881c28a102619d46423cb853b46dbccc70d3ac362d99773a78ce/pexpect-4.8.0-py9any.py3-nhl
|###################################| 61kB 797kB/s
urllib3==1.25.8 ์ˆ˜์ง‘ ์ค‘
๋‹ค์šด๋กœ๋“œ https://files.pythonhosted.org/packages/e8/74/6e4f91745020f967d09332bb2b8b9b10090957334692eb88ea4afe91b77f/urllib3-1.25.8-py2.any5
|###################################| 133kB 14.6MB/s
์š”๊ตฌ ์‚ฌํ•ญ์ด ์ด๋ฏธ ์ถฉ์กฑ๋จ: ptyprocess>=0.5 in /usr/lib/python3.6/site-packages (from pexpect==4.8.0) (0.6.0)
์ˆ˜์ง‘๋œ ํŒจํ‚ค์ง€ ์„ค์น˜: pexpect, urllib3
๊ธฐ์กด ์„ค์น˜ ๋ฐœ๊ฒฌ: pexpect 4.7.0
pexpect-4.7.0 ์ œ๊ฑฐ:
pexpect-4.7.0์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์กด ์„ค์น˜ ๋ฐœ๊ฒฌ: urllib3 1.25.7
urllib3-1.25.7 ์ œ๊ฑฐ:
urllib3-1.25.7์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
pexpect-4.8.0 urllib3-1.25.8์„ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฒฝ๊ณ : pip ๋ฒ„์ „ 19.3.1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฒ„์ „ 20.0.1์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
'pip install --upgrade pip' ๋ช…๋ น์„ ํ†ตํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

blh@LPT-V-23 ~
$ pip install --upgrade pip
ํ• ์ˆ˜์ง‘
๋‹ค์šด๋กœ๋“œ ๋‹ค์šด๋กœ๋“œ
|###################################| 1.5MB 2.4MB/์ดˆ
์ˆ˜์ง‘๋œ ํŒจํ‚ค์ง€ ์„ค์น˜: pip
๊ธฐ์กด ์„ค์น˜ ๋ฐœ๊ฒฌ: pip 19.3.1
pip-19.3.1 ์ œ๊ฑฐ:
pip-19.3.1์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
pip-20.0.1์„ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ pip๋Š” ๋ฒ„์ „ 20.0.1์—์„œ ์™„์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!!!

blh@LPT-V-23 ~
$ pip-review --local --๋Œ€ํ™”์‹
dbus-python==1.2.16์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(1.2.8์ด ์žˆ์Œ)
์ง€๊ธˆ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [์˜ˆ]์˜ˆ, [์•„๋‹ˆ์˜ค]์•„๋‹ˆ์š”, [A]ll, [Q]n
numpy==1.18.1์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(1.16.2๊ฐ€ ์žˆ์Œ)
์ง€๊ธˆ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [์˜ˆ]์˜ˆ, [์•„๋‹ˆ์˜ค]์•„๋‹ˆ์š”, [A]ll, [Q]n

readthedocs๋„ ์ด๊ฒƒ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/bin/python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/returns/.cache/pip pip

Traceback (most recent call last):
  File "/home/docs/.pyenv/versions/3.6.8/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/docs/.pyenv/versions/3.6.8/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/__main__.py", line 16, in <module>
    from pip._internal import main as _main  # isort:skip # noqa
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py", line 12, in <module>
    from pip._internal.commands import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 6, in <module>
    from pip._internal.commands.completion import CompletionCommand
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/completion.py", line 6, in <module>
    from pip._internal.cli.base_command import Command
  File "/home/docs/checkouts/readthedocs.org/user_builds/returns/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 25, in <module>
    from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder'

readthedocs๋Š” ์ €๋ฅผ ์œ„ํ•ด pip 20.0.1์„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์†์˜ ์—ฐ์†์ด ๋ฉˆ์ถ˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ž˜ ํ•˜์…จ์Šต๋‹ˆ๋‹ค! : ์Šค๋งˆ์ผ :

pip 20.0.1์€ Python 2.7์ด ์„ค์น˜๋œ MACOS 10.15.2์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋จผ์ € ์‹œ๋„ํ•œ pip 19.3.1์—๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

iMac:~ george$ sudo easy_install pip pip ๊ฒ€์ƒ‰ ์ตœ์  ์ผ์น˜: pip 20.0.1 ์ฒ˜๋ฆฌ pip-20.0.1-py2.7.egg easy-install.pth ํŒŒ์ผ์—์„œ pip 19.3.1 ์ œ๊ฑฐ easy-์— pip 20.0.1 ์ถ”๊ฐ€ install.pth ํŒŒ์ผ pip ์Šคํฌ๋ฆฝํŠธ๋ฅผ /usr/local/bin์— ์„ค์น˜ pip3.8 ์Šคํฌ๋ฆฝํŠธ๋ฅผ /usr/local/bin์— ์„ค์น˜ pip3 ์Šคํฌ๋ฆฝํŠธ๋ฅผ /usr/local/bin์— ์„ค์น˜

/Library/Python/2.7/site-packages/pip-20.0.1-py2.7.egg ์‚ฌ์šฉ pip์— ๋Œ€ํ•œ ์ข…์†์„ฑ ์ฒ˜๋ฆฌ pip์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ์ข…์†์„ฑ ์™„๋ฃŒ

iMac:~ george$ pip install -U spacy Traceback(๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "/opt/local/bin/pip", 11ํ–‰,
sys.exit(๋ฉ”์ธ())
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/cli/main.py", ๋ผ์ธ 73, ๋ฉ”์ธ
๋ช…๋ น = create_command(cmd_name, isolated=(cmd_args์˜ "--isolated"))
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/commands/__init__.py", 96ํ–‰, create_command
๋ชจ๋“ˆ = importlib.import_module(module_path)
import_module์˜ ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", 37ํ–‰
__๊ฐ€์ ธ์˜ค๊ธฐ__(์ด๋ฆ„)
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/commands/install.py", 24ํ–‰,
pip._internal.cli.req_command import RequirementCommand์—์„œ
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/cli/req_command.py", 20ํ–‰,
pip._internal.operations.prepare import RequirementPreparer์—์„œ
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", 16ํ–‰,
pip._internal.distributions์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ(
ํŒŒ์ผ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py", 1ํ–‰,
pip._internal.distributions.source์—์„œ SourceDistribution ๊ฐ€์ ธ์˜ค๊ธฐ
ImportError: SourceDistribution ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@george542 ๋‹ค๋ฅธ pip๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๋ฐ˜๋ฉด setuptools๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์‹  pip๋ฅผ ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  pip ์„ค์น˜ ๋ฐ pip egg ์„ค์น˜๋ฅผ ์ •๋ฆฌํ•œ ๋‹ค์Œ ์˜ฌ๋ฐ”๋ฅธ ์„ค์ •์„ ์ฒ˜๋ฆฌํ•˜๋Š” get-pip ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pip๋ฅผ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.

circleci์—์„œ pip๋ฅผ ํ†ตํ•ด awscli๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

_config.yml_ ํŒŒ์ผ์—์„œ pip install awscli ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— pip install pip -U ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

readthedocs๋Š” ์ €๋ฅผ ์œ„ํ•ด pip 20.0.1์„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์†์˜ ์—ฐ์†์ด ๋ฉˆ์ถ˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ž˜ ํ•˜์…จ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜ƒ

pip 20.0.1์„ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด readthedocs๋ฅผ ์–ด๋–ป๊ฒŒ ์–ป์—ˆ์Šต๋‹ˆ๊นŒ? ๋‚ด requirements.txt ํŒŒ์ผ์— pip==20.0.1์„ ์ง€์ •ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ sobolevn์—์„œ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ , ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์ž‘ ์‹œ pip๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ์ง€์šฐ๋ฉด ํŠธ๋ฆฌ๊ฑฐ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ pip2.7 install --upgrade pip ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

ํ , ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์ž‘ ์‹œ pip๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ์ง€์šฐ๋ฉด ํŠธ๋ฆฌ๊ฑฐ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‹ค! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•ˆ๋…•ํ•˜์„ธ์š”,
๋‚ด ์šด์˜ ์ฒด์ œ๋Š” Arch-Linux์ž…๋‹ˆ๋‹ค.
์„ค๋ช…์„œ์— ๋”ฐ๋ผ wfuzz๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๋ถˆํ–‰ํžˆ๋„ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

sudo pip install wfuzz Traceback (most recent call last): File "/usr/bin/pip", line 11, in <module> load_entry_point('pip==19.3', 'console_scripts', 'pip')() File "/usr/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_args)) File "/usr/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command module = importlib.import_module(module_path) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module> from pip._internal.cli.req_command import RequirementCommand File "/usr/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 17, in <module> from pip._internal.index import PackageFinder ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/lib/python3.8/site-packages/pip/_internal/index/__init__.py)

@Serialc0de https://github.com/pypa/pip/issues/5599๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. /usr/bin/pip ๋ฐ pip ์„ค์น˜๊ฐ€ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์€ sudo pip ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค ...

@ Serialc0de ๋ฒ ๋”” # 5599 . La tua /usr/bin/pip e la tua installazione pip non sono sincronizzate. (E non dovresti usare sudo pip ...

์ €๋ฅผ ๋„์™€์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? 19์‹œ๊ฐ„ ๋™์•ˆ ๋จธ๋ฆฌ๋ฅผ ์„ธ๊ฒŒ ๋‘๋“œ๋ ธ์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์‚ฌ๋žŒ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋ฆฌ๋žœ์„œ ์ „๋ฌธ๊ฐ€๋„ ์•„๋‹™๋‹ˆ๋‹ค. ์ž˜ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก tw๋ฅผ ํ†ตํ•ด ์ €๋ฅผ ๋„์™€์ฃผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฏธ๋ฆฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค brรฒ

pip๊ฐ€ ๋‹ค์‹œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ get-pip.py ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
python get-pip.py pip==19.3.1
์ด๊ฒƒ์€ pip๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”! ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค ( cygwin64 ์—์„œ ์‹คํ–‰๋˜๋Š” python 3.7.4)

์ฐธ๊ณ ๋กœ ์—ฌ๊ธฐ์—์„œ ์ˆ˜์ •ํ•œ ๋‹ค๋ฅธ ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/readthedocs/readthedocs.org/pull/6598#issue -368291092

์ฐธ๊ณ ๋กœ ์—ฌ๊ธฐ์—์„œ ์ˆ˜์ •ํ•œ ๋‹ค๋ฅธ ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

readthedocs/readthedocs.org#6598(๋Œ“๊ธ€)

๊ฐ์‚ฌ ํ•ด์š”. ๋‹จ์ˆœํžˆ python get-pip.py ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(pip-20.0.2 ์„ค์น˜).

์ตœ์‹  20.0.2๋ฅผ ์–ป์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋™์ž‘์ด ํ‘œ์‹œ๋˜๋Š” pip๊ฐ€ ์ „ํ˜€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@abhi2687๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ฒ„์ „(https://github.com/pypa/pip/issues/7620#issuecomment-579257985)์„ ์‹คํ–‰ํ•˜๋Š” Ubuntu์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํŒจํ•œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

pip install --upgrade pip
pip install -r requirements.txt --user
pip install -r requirements_dev.txt --user

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/main.py", line 45, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 23, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 17, in <module>
    from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/usr/local/lib/python3.8/site-packages/pip/_internal/index/__init__.py)

Exited with code exit status 1

์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์ž˜ ๋˜๊ณ  20.0.2๋ฅผ ๋‹ค์šด๋กœ๋“œ/์„ค์น˜ํ•˜์ง€๋งŒ 20.0์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” Circleci ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋กœ์ปฌ ์ปดํ“จํ„ฐ์—์„œ pip install --upgrade pip ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Ubuntu 19.10). ๋”ฐ๋ผ์„œ ํŠน์ • ๋ฒ„์ „์˜ Ubuntu์ธ์ง€ circleci ์ปจํ…Œ์ด๋„ˆ circleci/python:3.8 ๋˜๋Š” ๋ฌด์—‡๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋˜ ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜:

  1. python get-pip.py pip==19.3.1 ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ด๊ฒƒ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  2. pip install --upgrade pip ๋ฅผ ํ†ตํ•ด 20.0.2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  20.0.0์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ๋„ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค!
Windows 7 ๋ฐ 10 ๋ฐ Linux Raspbian์—์„œ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!
์ตœ์‹  20.0.2 pip์™€ Python 3.8.1์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Python 3.8.1์ด ์„ค์น˜๋จ, Windows 8.1๊ณผ ๋™์ผํ•œ ์˜ค๋ฅ˜: ๊ฒฝ๊ณ : pip ๋ฒ„์ „ 19.2.3์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋ฒ„์ „ 20.0.2๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 'python -m pip install --upgrade pip' ๋ช…๋ น์„ ํ†ตํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pip๊ฐ€ ๋‹ค์‹œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ get-pip.py https://bootstrap.pypa.io/get-pip.py ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํŒŒ์ด์ฌ get-pip.py pip==19.3.1
์ด๊ฒƒ์€ pip๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”! ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค (cygwin64์—์„œ ์‹คํ–‰๋˜๋Š” python 3.7.4)

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
GitHub์˜์— ๊ทธ๊ฒƒ์„ ์ง์ ‘์ด ์ด๋ฉ”์ผ์— ํšŒ์‹  ๋ณผ https://github.com/pypa/pip/issues/7620?email_source=notifications&email_token=ABHAYIUZZTOF5FQIJBXBHJDRACAGRA5CNFSM4KJSF7MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKERQ6I#issuecomment-579410041 , ๋˜๋Š” ํƒˆํ‡ด https://github.com/notifications/unsubscribe- ์ธ์ฆ/ABHAYIVCAZKVV53U4GXSTBTRACAGRANCNFSM4KJSF7MA .

[R Steiger] ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. python3.8.1์—์„œ๋„ ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž˜!
๋‚˜๋Š” ๊ทธ๋ ‡๊ฒŒํ–ˆ์ง€๋งŒ ๊ทธ ๋‹น์‹œ PyPI์— SSL ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” MacOS 10.5.3์„ ์‹คํ–‰ ์ค‘์ด๊ณ  Homebrew๋ฅผ ํ†ตํ•ด Python 3.7.6์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜์—์„œ Pip์„ ๋ฒ„์ „ 19.x์—์„œ ๋ฒ„์ „ 20.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ๋Š”๋ฐ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ์†์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Traceback (most recent call last): File "/Users/jeff/Envs/test/bin/pip3", line 5, in <module> from pip._internal.cli.main import main ModuleNotFoundError: No module named 'pip._internal.cli.main'

CI์— ์ด๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์€ CI ์บ์‹œ๋ฅผ ์ง€์šฐ์‹ญ์‹œ์˜ค.

์—ฌ๊ธฐ ์™€ ๊ฐ™์€ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค

pip install --no-use-pep517 <package>

์•„๋งˆ๋„ ๊ด€๋ จ https://github.com/pypa/pipenv/issues/4128. ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ•œ ๋˜ ๋‹ค๋ฅธ ์ˆ˜์ • ์‚ฌํ•ญ์€

pip install -U pipenv virtualenv
virtualenv .venv --seeder pip
PIPENV_VENV_IN_PROJECT=1 pipenv install

@jeffself ์—ฌ๊ธฐ์„œ๋„ ๊ฐ™์€ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

https://github.com/pypa/pip/issues/5599#issue -341052110 ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค(pip ๋ฉ”์‹œ์ง€๋กœ ํ‘œ์‹œ๋จ).

pip๊ฐ€ ๋‹ค์‹œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ get-pip.py ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
python get-pip.py pip==19.3.1
์ด๊ฒƒ์€ pip๋ฅผ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

๊ณ ๋งˆ์›Œ ํ˜• ...์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‚ด archlinux ๋ฐฐํฌํŒ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค =)

๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๊ณ ํ†ต์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ณตํ†ต ์ž‘์—… ์˜์—ญ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
Setup.cfg ๋ฐ Pip ๋ชจ๋“ˆ์„ ์—ด๊ณ  pip ๋ฒ„์ „, ๋ชจ๋“ˆ ์ด๋ฆ„+๋ฒ„์ „ ๋“ฑ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์—…๊ทธ๋ ˆ์ด๋“œ/๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ํ›„์—๋„ ์—ฌ๋Ÿฌ ๋ฒˆ ํŒŒ์ผ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ถฉ๋Œ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

์ด์ œ PyPI๊ฐ€ yanked ๋ฆด๋ฆฌ์Šค๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ pip 20.0์„ "yanked"๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. pip > 19.2๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜ํ•˜์ง€ ์•Š์œผ๋ฉฐ pip install pip==20 ๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•  ๋•Œ ๊ฒฝ๊ณ ๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

WARNING: The candidate selected for download or install is a yanked version: 'pip' candidate (version 20.0 at https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl#sha256=eea07b449d969dbc8c062c157852cf8ed2ad1b8b5ac965a6b819e62929e41703 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*))

pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ python์„ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐ๋ฅผ ์‹œ๋„ํ•œ ๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์˜ค๋ฅ˜๋Š” ์—ฌ์ „ํžˆ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. .

๋‹ค์Œ์€ ๋‚ด๊ฐ€ ์ง๋ฉดํ•œ ์˜ค๋ฅ˜์˜ ์Šคํฌ๋ฆฐ์ƒท์ž…๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์„ธ์š”.
๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค
image

๊ธฐ๋ณธ์ ์œผ๋กœ pip๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

@AvAkanksh ์ด ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์†Œ ๋ถˆํ™•์‹คํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์•˜์„ ๋•Œ ์ปดํ“จํ„ฐ์—์„œ Python์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ?

@AvAkanksh ์ด ์˜ค๋ฅ˜๊ฐ€ ๋‹ค์†Œ ๋ถˆํ™•์‹คํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์•˜์„ ๋•Œ ์ปดํ“จํ„ฐ์—์„œ Python์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ถœ๋ ฅ์— ๋„ˆ๋ฌด ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๊ณ  ์—ฌ์ „ํžˆ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@AvAkanksh , Google์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํžŒํŠธ๋ฅผ ์ฐพ๊ธฐ์— ํ›จ์”ฌ ๋” ์ข‹์€ ๊ณณ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ๋ฉด ์œ„์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์˜๊ฒฌ์— ๋งํฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค!

๋˜‘๊ฐ™๋‹ค...๐Ÿ˜ก

๋‚˜๋Š” ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ...

ํ• ๊ฒ€์ƒ‰
๋ฒ ์ŠคํŠธ ๋งค์น˜: ํ• 20.2.2
easy-install.pth ํŒŒ์ผ์— pip 20.2.2 ์ถ”๊ฐ€
/usr/local/bin์— pip ์Šคํฌ๋ฆฝํŠธ ์„ค์น˜
์˜ค๋ฅ˜: [Errno 2] ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค: '/usr/local/bin/pip'

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