Virtualenv: ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ

์— ๋งŒ๋“  2019๋…„ 07์›” 09์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/virtualenv

python 3.7.4 64๋น„ํŠธ๋ฅผ ์„ค์น˜ํ•œ ํ›„ ํด๋”์—์„œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ฝ 1000๊ฐœ์˜ ํŒŒ์ด์ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๊ณ  ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ์™„์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ: Windows 10 ํ™ˆ
Cygwin 64๋น„ํŠธ์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ

์‹คํŒจํ•œ ์ฝ”๋“œ:

mkdir test
cd test
virtualenv venv

pip list

ํŒจํ‚ค์ง€ ๋ฒ„์ „


์†Œํ–‰์„ฑ 2.2.0
์ฝœ๋กœ๋ผ๋„ 0.4.1
์•„์ด์†ŒํŠธ 4.3.9
๊ฒŒ์œผ๋ฅธ ๊ฐœ์ฒด ํ”„๋ก์‹œ 1.3.1
๋งฅ์นด๋ฒ  0.6.1
ํ• 19.1.1
ํŒŒ์ผ๋ฆฐํŠธ 2.3.0
๋กœํ”„ 0.14.0
์„ค์ • ๋„๊ตฌ 40.8.0
์—ฌ์„ฏ 1.12.0
1.3.1 ์ž…๋ ฅ
๊ฐ€์ƒ ํ™˜๊ฒฝ 16.6.1
๋žฉ 1.11.1

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

์—ฌ๊ธฐ ์œ ์ง€ ๋ณด์ˆ˜. ์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด CPython์˜ ์ผ๋ถ€ ๋‚ด๋ถ€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ณ„์•ฝ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด ์ด์ œ python 3.7 ๋ฐ 3.8 ๋ชจ๋‘์— ๋Œ€ํ•ด ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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

์˜ค๋Š˜ ์ฒ˜์Œ์œผ๋กœ python, pip ๋ฐ virtualenv๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” 3 ์ค„์— ์ฃผ์„์„ ๋‹ฌ์•„์„œ ๊ทธ๊ฒƒ์„ ๊ณ ์ณค๋‹ค.
Python\Python37\Lib\site-packages\virtualenv.py
๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€
-p python
virtualenv๋ฅผ ์‹คํ–‰ํ•  ๋•Œ

๋‚ด๊ฐ€ ์ฃผ์„ ์ฒ˜๋ฆฌํ•œ ์ค„์€ 783-785์ž…๋‹ˆ๋‹ค.
if hasattr(sys, "_base_executable"):
print("hasattr(sys, \"_base_executable\") == yes")
return sys._base_executable

@AndrYast ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•œ ํ›„ ์—ฌ์ „ํžˆ 3.7.4๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ํ™•์‹คํžˆ ์–ด์ œ(7/8/19) ๋ฆด๋ฆฌ์Šค๋œ 3.7.4์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@thingselliotprograms ์˜ˆ, ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.
venv\Scripts\activate
python --version
๋‚˜์—๊ฒŒ ์ค€๋‹ค
Python 3.7.4

์–ด์ œ python์„ 3.7.4๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ pipenv๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. virtualenv์™€ ๊ด€๋ จ๋œ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ. ํ˜„์žฌ python์„ 3.7.3์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/python/cpython/pull/14428 ์€ ํ•ญ์ƒ sys._base_executable ์„ค์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Ack virtualenv latest ๊ฐ€ ๊นจ์กŒ์Šต๋‹ˆ๋‹ค.

3.7.4์—์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” pipenv ํ•˜๊ณ  ์žˆ๊ณ  [WinError 8] Not enough memory resources are available to process this command ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. virtualenv๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด 3.7.3์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ €๋„ 3.7.4์—์„œ ์ด ์ •ํ™•ํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

python.exe ํ”„๋กœ์„ธ์Šค์˜ ๋กค๋ง ์ฌ๋”๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ๊ฐˆ์‹œํ‚ค๊ณ  virtualenv ์ƒ์„ฑ์€ ๊ถ๊ทน์ ์œผ๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

3.7.2์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์œ ์ง€ ๋ณด์ˆ˜. ์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด CPython์˜ ์ผ๋ถ€ ๋‚ด๋ถ€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ณ„์•ฝ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด ์ด์ œ python 3.7 ๋ฐ 3.8 ๋ชจ๋‘์— ๋Œ€ํ•ด ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด _์ข‹์€_ ์•„์ด๋””์–ด์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ด ๋น ๋ฅธ ํ•ดํ‚น์œผ๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

# virtualenv.py:783
if hasattr(sys, "_base_executable") and sys.version_info < (3, 7, 4):
    return sys._base_executable

๊ทธ ์ค„ ์œ„์˜ ์ฃผ์„์œผ๋กœ ํŒ๋‹จํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „์—์„œ ์žฌ๋ฏธ๋ฅผ ๋ณธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

sys._base_executable != sys.executable ์ถ”๊ฐ€ ํ™•์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์†”์งํžˆ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค์—์„œ ๊ณ„์† ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ ๊ฐ™๊ณ  ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ์ƒํ™ฉ์„ ๋”ฐ๋ผ๊ฐˆ ์‹œ๊ฐ„์ด ์—†์Šต๋‹ˆ๋‹ค(๋ชจ๋‘ "Windows Store" ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์ž‘์—…๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ).

@zooba ๊ฐ€ ์—ฌ๊ธฐ์— ๋Œ“๊ธ€์„ ๋‹ฌ๊ฑฐ๋‚˜ ์ œ์•ˆ์„ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋‚ด๋ถ€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ถ๊ทน์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ๋‹ฌ๋ ค ์žˆ์ง€๋งŒ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ง€์›๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์ง€ ๋ชป ํ•˜๋ฏ€๋กœ ์ ์šฉ ์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค . Python์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ์–ป์„ ๋•Œ๋งˆ๋‹ค ์ž ์žฌ์ ์ธ ์†์ƒ:-(

๊ถ๊ทน์ ์œผ๋กœ #1377์€ ์•„๋งˆ๋„ ์—ฌ๊ธฐ์—์„œ ์œ ์ผํ•˜๊ฒŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ ์ฒดํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•œ ๊ดœ์ฐฎ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Windows๋ฅผ ์‹คํ–‰ํ•˜๊ณ  virtualenv๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋Š” Travis CI ์ž‘์—…๋„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. Travis CI๋Š” ์ตœ๊ทผ์— 3.7.4๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ž

https://travis-ci.community/t/infinite-loop-of-virtualenv-windows/4139

Travis ๋นŒ๋“œ์—์„œ ์œ ์šฉํ•œ ์ •๋ณด:

version: v6.2.0 https://github.com/travis-ci/worker/tree/5e5476e01646095f48eec13196fdb3faf8f5cbf7
instance: travis-ci-onion-1803-containers-1542208204-ad01dca (via amqp)
bash version 4.4.19(2)-release
Chocolatey v0.10.11
python3 v3.7.4 [Approved]
python3 has been installed.
Successfully installed pip-19.1.1
Successfully installed virtualenv-16.6.1

$ virtualenv $HOME/venv
Running virtualenv with interpreter c:\python37\python.exe
Running virtualenv with interpreter c:\python37\python.exe
Running virtualenv with interpreter c:\python37\python.exe
Running virtualenv with interpreter c:\python37\python.exe
Running virtualenv with interpreter c:\python37\python.exe
...[repeats 763 more times]...
The command "virtualenv $HOME/venv" failed and exited with 1 during .
Your build has been stopped.
MemoryError

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ ์ฒดํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•œ ๊ดœ์ฐฎ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด base_executable ๊ฒ€์‚ฌ๊ฐ€ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๋ฌธ์ œ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ(3.7.4์—์„œ)? ๋ถ„๋ช…ํžˆ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” ํ›จ์”ฌ ๋œ ์‹ฌ๊ฐํ•˜๋ฏ€๋กœ ์—ฌ์ „ํžˆ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์ง€๋งŒ ์™„์ „ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํ‡ดํ–‰์„ ์œ ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์–ด๋–ค ์‹ ์œผ๋กœ๋“  ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  ๋ฏธ์•ˆํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

์—ฌ๊ธฐ์„œ ๊ฒฐ๋ก ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? virtualenv์— ๋Œ€ํ•œ ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๊นŒ?

์˜ˆ, ์ˆ˜์ •์œผ๋กœ PRํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค ๐Ÿ˜Š

์–ธ๊ธ‰ํ•œ ํšŒ๊ท€์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ•  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ํ…Œ์ŠคํŠธ(#1345์— ์ถ”๊ฐ€๋จ)๋Š” test_create_environment_from_venv . ํ•˜์ง€๋งŒ Python 3.7.2, 3.7.3 ๋ฐ 3.7.4 ๋ชจ๋‘์—์„œ ๋™์ž‘์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค( ๋ถ€) ๋ฒ„์ „์ด๋ฉฐ ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ CI์—์„œ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์ฒ˜์Œ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ ํŒŒ์ด์ฌ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. venv ๋˜๋Š” virtualenv ํŒจํ‚ค์ง€๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ „์— sys._base_executable ๋Š” ์‹œ์Šคํ…œ ํŒŒ์ด์ฌ์— ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ํŒŒ์ด์ฌ 3.7+ ์— ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์œ„์˜ PR๊ณผ ํ•จ๊ป˜ ํ•ญ์ƒ ์„ค์ •๋˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋น„์‹œ์Šคํ…œ Python์ด sys.executable ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ). ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ CPython์šฉ ๋‚ด์žฅ ์ฝ”๋“œ(์‹œ์Šคํ…œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์‚ฌ์ดํŠธ ํŒจํ‚ค์ง€ ๊ฒ€์ƒ‰์˜ ์ผ๋ถ€์—์„œ)๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋ฏ€๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด์ง€๋งŒ ๊ณ„์•ฝ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๊ฐœ์ธ ์†์„ฑ์ด๋ผ๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๊นจ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ด ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์—†์—ˆ์œผ๋ฏ€๋กœ ์ด ๊ฐœ์ธ ํ•„๋“œ์— ์˜์กดํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ 3.7.4
๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋„๋ก ์ถœ๋ ฅ์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

Requirement already up-to-date: virtualenv in c:\users\tester\appdata\local\programs\python\python37\lib\site-packages (16.6.1)
Running virtualenv with interpreter c:\users\tester\appdata\local\programs\python\python37\python.exe
Running virtualenv with interpreter c:\users\tester\appdata\local\programs\python\python37\python.exe
Running virtualenv with interpreter c:\users\tester\appdata\local\programs\python\python37\python.exe
...
(Repeated 350 times in total)

Traceback (most recent call last):
  File "c:\users\tester\appdata\local\programs\python\python37\lib\site-packages\virtualenv.py", line 2611, in <module>
    main()
  File "c:\users\tester\appdata\local\programs\python\python37\lib\site-packages\virtualenv.py", line 814, in main
    sub_process_call = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)
  File "c:\users\tester\appdata\local\programs\python\python37\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "c:\users\tester\appdata\local\programs\python\python37\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
OSError: [WinError 8] Not enough memory resources are available to process this command

1383์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€ ์ˆ˜๋™ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. 3.7.4๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์•„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ „ํ˜€ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜๊ณ  ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ 3.7 CI์˜ ๋งˆ์ด๋„ˆ ๋ฒ„์ „์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘ ์ผ๋ถ€๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๊ณ  ๋‹ค๋ฅธ ์†์ƒ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

Travis CI์˜ Python 3.7.4์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•œ Travis ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค(๊ด€๋ จ ๋ถ€๋ถ„).

    - stage: test
      os: windows
      language: shell
      env: PATH=/c/Python37:/c/Python37/Scripts:$PATH
      before_install:
        - choco install python
        # python -m pip install virtualenv
        - pip install git+https://github.com/pypa/virtualenv
        - virtualenv $HOME/venv
        - source $HOME/venv/Scripts/activate

๊ฒฐ๊ณผ(๊ด€๋ จ ๋ถ€๋ถ„):

Progress: Downloading python 3.7.4... 100%
python3 v3.7.4 [Approved]
python3 package files install completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37'
...
16.31s$ pip install git+https://github.com/pypa/virtualenv
Collecting git+https://github.com/pypa/virtualenv
  Cloning https://github.com/pypa/virtualenv to c:\users\travis\appdata\local\temp\pip-req-build-ceb1gi36
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Building wheels for collected packages: virtualenv
  Building wheel for virtualenv (PEP 517): started
  Building wheel for virtualenv (PEP 517): finished with status 'done'
  Stored in directory: C:\Users\travis\AppData\Local\Temp\pip-ephem-wheel-cache-kx8oezso\wheels\8d\58\76\749812a30b0b5c5cdc1b327e343711660ee5ebf51cf56d2df5
Successfully built virtualenv
Installing collected packages: virtualenv
Successfully installed virtualenv-16.6.1
46.51s$ virtualenv $HOME/venv
Using base prefix 'c:\\python37'
New python executable in C:\Users\travis\venv\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
0.16s$ source $HOME/venv/Scripts/activate

Travis CI์˜ Python 3.7.4์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค, ํ™•์ธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

os: windows

Travis๊ฐ€ Windows ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค :-)

@pfmoore ๊ทธ๋“ค์€ Windows๊ฐ€ "์กฐ๊ธฐ ์•ก์„ธ์Šค"์ด๋ฉฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค(๋น„๋ฐ€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ).

์˜ˆ, Windows ์ง€์›์€ #travisAlums ์ผ์ด ์ผ์–ด๋‚˜๊ธฐ ์ง์ „์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. IIRC(์ƒˆ๋กœ์šด ๋ชจํšŒ์‚ฌ๋Š” Travis์˜ ํŒ€์„ ํฌ๊ฒŒ ์ถ•์†Œํ–ˆ์Šต๋‹ˆ๋‹ค)

์ด ์ฝ”๋“œ(virtualenv.py ํŒŒ์ผ์— ์žˆ์Œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์›์‚ฐ์ง€:
if hasattr(sys, "_base_executable"):
๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
hasattr(sys, "_base_executable")์ด๊ณ  os.environ.get("VIRTUALENV_INTERPRETER_RUNNING")์ด ์•„๋‹Œ ๊ฒฝ์šฐ:
์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋ฃจํ”„๊ฐ€ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์€ https://pypi.org/project/virtualenv/16.6.2/ ๋ฅผ ํ†ตํ•ด ๋ฆด๋ฆฌ์Šค๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ํ…Œ์ŠคํŠธํ–ˆ๊ณ  ์‹ค์ œ๋กœ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅด๊ณ  ์ข‹์€ ๋‹ต๋ณ€ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

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