Pip: ~ / .pip / pip.conf 및 virtualenv 좩돌

에 λ§Œλ“  2014λ…„ 10μ›” 02일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: pypa/pip

이 λ¬Έμ œλŠ” 어디에도 λ¬Έμ„œν™”λ˜μ–΄ μžˆμ§€ μ•Šμ§€λ§Œ install-option 에 ~/.pip/pip.conf install-option λ₯Ό μ§€μ •ν•˜λ©΄ virtualenv μž¬μ •μ˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 직μž₯ PC에 λŒ€ν•œ μ‚¬μš©μž μ œν•œμœΌλ‘œ 인해 install-option --prefix=/path/to/somwhere ν–ˆλŠ”λ°,이 섀정을 μ‚¬μš©ν•˜λ©΄ Venv ( $PIP_RESPECT_VIRTUALENV μ‚¬μš©)의 λͺ¨λ“  μ„€μΉ˜κ°€ μ§€μ •λœ κ²½λ‘œμ— 계속 μ„€μΉ˜λ©λ‹ˆλ‹€. μž‘μ„±μž install-option . 이것은 λ‚˜μ—κ²Œ μ˜ˆμƒ 된 λ™μž‘μ€ μ•„λ‹ˆμ—ˆμ§€λ§Œ pip.conf λ¬΄μ‹œν•˜λŠ” 것이 μ˜¬λ°”λ₯Έ μ‘°μΉ˜μΈμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ κ·ΈλŸ¬ν•œ 행동을 λ¬Έμ„œν™”ν•˜λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€. 또 λ‹€λ₯Έ μ΄μƒν•œ 점은 νŒ¨ν‚€μ§€κ°€ venv에 μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•Šκ³  pipκ°€ 찾을 수 μ—†κΈ° λ•Œλ¬Έμ— virtualenvμ—μ„œ 제거 ν•  수 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

이것은 pip 1.4.1 및 1.5.6 및 virtualenv 1.11.6을 μ‚¬μš©ν•  λ•Œ λ‚˜μ—κ²Œ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

virtualenv needs repro bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚΄ ν˜„μž¬ μˆ˜μ • 사항은 virtualenvwrapper 의 postactivate 후크λ₯Ό 톡해 $PIP_CONFIG_FILE 을 /dev/null 둜 μ„€μ •ν•˜κ³  postdeactivate μ—μ„œ μ„€μ • ν•΄μ œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λͺ¨λ“  5 λŒ“κΈ€

λ‚΄ ν˜„μž¬ μˆ˜μ • 사항은 virtualenvwrapper 의 postactivate 후크λ₯Ό 톡해 $PIP_CONFIG_FILE 을 /dev/null 둜 μ„€μ •ν•˜κ³  postdeactivate μ—μ„œ μ„€μ • ν•΄μ œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” μ—¬μ „νžˆ μ‘΄μž¬ν•©λ‹ˆλ‹€. 제 κ²½μš°μ—λŠ” Venv에 μžˆμ§€ μ•Šμ„ λ•Œ --user μ„€μΉ˜λ₯Ό μ‚¬μš©ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€ ( ~/.config/pip/pip.conf μ—μ„œ 섀정을 ν†΅ν•΄ν•˜μ§€λ§Œ "normal"(in-venv)λŠ” venv (do --user μ„€μΉ˜λŠ” Venvμ—μ„œλ„ μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆκΉŒ?).

두 가지 κ°€λŠ₯ν•œ μ†”λ£¨μ…˜ (첫 번째 μ†”λ£¨μ…˜ 만 μ‹€μ œλ‘œ pip둜 κ΅¬ν˜„ν•  수 μžˆμ§€λ§Œ μ—¬κΈ°μ„œ λ…Όμ˜λ₯Ό μ‹œμž‘ν•  μˆ˜λ„ 있음)은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • venv μ™ΈλΆ€μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” ꡬ성 파일 μœ„μΉ˜λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€ ( ~/.config/pip/pip-novenv.conf λ˜λŠ” 기타).
  • --user venvμ—μ„œ no-op으둜 λ§Œλ“œμ‹­μ‹œμ˜€ (λ‹€μ‹œ λ§ν•˜μ§€λ§Œ --user + venvκ°€ μ˜λ―Έκ°€ μžˆλŠ”μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€ : ~/.local/lib/pythonX.Y ν•˜λ‚˜λΏμ΄λ―€λ‘œ λͺ¨λ“  격리가 λŠμ–΄μ§‘λ‹ˆλ‹€).

Python 3.5.3에 μ—¬μ „νžˆ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

가상 ν™˜κ²½μ„ μ‚¬μš©ν•˜κ³  μ‚¬μš©μžκ°€ pip.confμ—μ„œ μ„€μΉ˜ν•˜λŠ” μ‹œμ κΉŒμ§€ ν™˜κ²½μ—μ£Όμ˜λ₯Ό κΈ°μšΈμ΄λ €κ³ ν•˜λ©΄ μž‘λ™ν•˜μ§€ μ•ŠλŠ” μ‹œμŠ€ν…œμœΌλ‘œ λλ‚©λ‹ˆλ‹€.

νŒ€μ›λ“€μ΄ sudo pip μ‚¬μš©ν•˜μ§€ μ•Šλ„λ‘ν•˜λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€. 점점 더 μ–΄λ €μ›Œμ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

이것은 virtualenv 의 버그가 μ•„λ‹™λ‹ˆκΉŒ-일뢀 μ˜΅μ…˜μ„ μ‚¬μš©ν•  λ•Œ PIP_CONFIG_FILE=/dev/null μ„€μ •ν•˜μ§€ μ•ŠλŠ” κ²ƒμž…λ‹ˆκΉŒ?
였, 였늘 이것에 λ¬Όλ Έλ‹€.

λˆ„κ΅°κ°€ 이것을 μž¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•œ λͺ…ν™•ν•œ 지침을 제곡 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰