Ipython: Embed()์— ๋Œ€ํ•œ ์ปฌ๋Ÿฌ ํ”„๋กฌํ”„ํŠธ

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

import IPython; IPython.embed() ์—๋Š” ์ƒ‰์ƒ์ด ์—†์Šต๋‹ˆ๋‹ค. https://github.com/ipython/ipython/issues/9450 ์€ ๊ด€๋ จ์ด ์žˆ์ง€๋งŒ ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„์ดํŒŒ์ด์ฌ 7.1.1
ํŒŒ์ด์ฌ 3.6.6
์šฐ๋ถ„ํˆฌ 18.04

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

์ด๊ฒƒ์„ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์„ ์œ„ํ•ด ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ ์น  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

IPython.embed(colors="neutral")

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

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์•„์ดํŒŒ์ด์ฌ 7.1.1
ํŒŒ์ด์ฌ 3.7.0,
๋งฅ OS X 10.14

์—ฌ๊ธฐ๋„.

์•„์ดํŒŒ์ด์ฌ 7.2.0
ํŒŒ์ด์ฌ 3.6.6
RHEL 7.4 / ๋งฅ OS 10.14

์ด ๋ฌธ์ œ๋Š” #11265์—์„œ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://github.com/ipython/ipython/blob/0acd580fce7192044a6f846dd09d31d498018347/IPython/terminal/embed.py#L369 -L371

์ด์ œ ๊ธฐ๋ณธ๊ฐ’์ด 'NoColor'์— ์•”์‹œ์ ์œผ๋กœ ์ƒ‰์ƒ์„ ํ• ๋‹นํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋”๋Ÿฌ์šด ์ˆ˜์ •์„ ์œ„ํ•ด ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

IPython.embed(using=False)

์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ์ฝ”๋“œ๋ฅผ ๋‚จ์šฉํ•˜๊ณ  IPython.core.async_helpers._AsyncIORunner ๋Œ€์‹  IPython.core.async_helpers._pseudo_sync_runner ํ•ฉ๋‹ˆ๋‹ค. ์ œ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์—๋Š” ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ถ€์ž‘์šฉ์ด ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ 5.x์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉํ•ดํ•˜๋Š” ์ด ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค... ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ์ด๊ฒƒ์€ ์ด์ƒํ•œ ํ–‰๋™์ž…๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” @topherocity ์˜ ์†”๋ฃจ์…˜ ์—†์ด ์ „์ฒด ๊ตฌ์„ฑ์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Windows์™€ Linux ๋ชจ๋‘์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. BTW ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๊ธฐ ์ „์— %colors linux ๋˜๋Š” %colors lightbg ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Windows์™€ Linux ๋ชจ๋‘์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. BTW ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๊ธฐ ์ „์— %colors linux ๋˜๋Š” %colors lightbg ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@Arnie97 ์ž์„ธํžˆ %colors linux ์‚ฌ์šฉ"์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž„๋ฒ ๋””๋“œ ํ„ฐ๋ฏธ๋„์— '%colors linux'๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์„ ์œ„ํ•ด ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ ์น  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

IPython.embed(colors="neutral")

@banol๋‹˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ผ์ง€๋งŒ ๋‹ค์Œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์ƒ‰์ƒ ์„ ํƒ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ง€์›๋˜์ง€ ์•Š๋Š” ์ƒ‰์ƒ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

The 'colors' trait of an InteractiveShellEmbed instance must be any of ['Neutral', 'NoColor', 'LightBG', 'Linux'], but a value of True <class 'bool'> was specified

"Linux" ์ƒ‰์ƒ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ์ž…๋‹ˆ๋‹ค. Linux ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ‹์ง„ ๋ฐ˜์ง์ด๋Š” ์ƒ‰์ƒ์˜ ํ„ฐ๋ฏธ๋„์„ ์–ป์Šต๋‹ˆ๋‹ค.

$ python -c 'import IPython; IPython.embed(colors="Linux")'
Python 3.7.4 (default, Aug 13 2019, 15:17:50) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help.

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