Ipython: Solicitação colorida para incorporar ()

Criado em 4 dez. 2018  ·  10Comentários  ·  Fonte: ipython/ipython

import IPython; IPython.embed() não tem cores para mim. https://github.com/ipython/ipython/issues/9450 está relacionado, mas é antigo.

IPython 7.1.1
Python 3.6.6
Ubuntu 18.04

Comentários muito úteis

Para qualquer um que se deparar com isso, eu fui capaz de consertar assim:

IPython.embed(colors="neutral")

Todos 10 comentários

Mesmo aqui.

iPython 7.1.1
Python 3.7.0,
Mac OS X 10.14

Aqui também.

IPython 7.2.0
Python 3.6.6
RHEL 7.4 / Mac OS 10.14

Parece que esse problema se origina do # 11265.

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

Por que o padrão agora é atribuir cores implicitamente a 'NoColor'?

Para uma correção suja, eu defino

IPython.embed(using=False)

que obviamente está abusando do código e usa IPython.core.async_helpers._AsyncIORunner vez de IPython.core.async_helpers._pseudo_sync_runner . No meu caso específico, não tenho certeza de quais efeitos colaterais não intencionais isso pode ter.

Também estamos enfrentando esse problema, que é uma das coisas que está nos impedindo de atualizar do 5.x ... Agradeceríamos muito uma solução para esse problema.

Sim, esse é um comportamento estranho. No meu caso, toda a configuração é sobrescrita sem a solução de @topherocity

Parece ainda ser um problema.

Ainda é um problema no Windows e no Linux. BTW, você pode usar %colors linux ou %colors lightbg antes que isso seja corrigido.

Ainda é um problema no Windows e no Linux. BTW, você pode usar %colors linux ou %colors lightbg antes que isso seja corrigido.

@ Arnie97 Você poderia explicar melhor? Não sei o que você quer dizer com "usar %colors linux ".

Digite '% colors linux' no terminal embutido e pressione Enter.

Para qualquer um que se deparar com isso, eu fui capaz de consertar assim:

IPython.embed(colors="neutral")

Obrigado @banool!

Espero que isso possa ajudar outras pessoas também, mas aqui está a lista de opções de cores que vêm por padrão. Isso é obtido da Exceção que é gerada se você tentar usar um traço de cor não suportado.

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

Para outro exemplo usando o traço "Linux" cores. Eu recebo um belo terminal de cor brilhante usando as cores do 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]:    
Esta página foi útil?
0 / 5 - 0 avaliações