Ipython: Invite colorée pour embed()

Créé le 4 déc. 2018  ·  10Commentaires  ·  Source: ipython/ipython

import IPython; IPython.embed() n'a pas de couleurs pour moi. https://github.com/ipython/ipython/issues/9450 est lié mais ancien.

IPython 7.1.1
Python 3.6.6
Ubuntu 18.04

Commentaire le plus utile

Pour tous ceux qui tombent sur cela, j'ai pu le réparer comme ceci:

IPython.embed(colors="neutral")

Tous les 10 commentaires

Pareil ici.

Python 7.1.1
Python 3.7.0,
Mac OS X 10.14

Ici aussi.

IPython 7.2.0
Python 3.6.6
RHEL 7.4 / Mac OS 10.14

Il semble que ce problème vienne du #11265.

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

Pourquoi la valeur par défaut est-elle maintenant d'attribuer implicitement des couleurs à « NoColor » ?

Pour une solution sale, j'ai mis

IPython.embed(using=False)

qui abuse manifestement du code et utilise le IPython.core.async_helpers._AsyncIORunner au lieu de IPython.core.async_helpers._pseudo_sync_runner . Pour mon cas particulier, je ne suis pas sûr des effets secondaires indésirables que cela peut avoir.

Nous rencontrons également ce problème, qui est l'une des choses qui nous empêchent de passer de la version 5.x... Nous apprécierions vraiment un correctif pour ce problème.

Oui, c'est un comportement étrange. Dans mon cas, toute la configuration est écrasée sans la solution de @topherocity

Cela semble toujours être un problème.

Toujours un problème sur Windows et Linux. BTW, vous pouvez utiliser %colors linux ou %colors lightbg avant que cela ne soit corrigé.

Toujours un problème sur Windows et Linux. BTW, vous pouvez utiliser %colors linux ou %colors lightbg avant que cela ne soit corrigé.

@ Arnie97 Pourriez-vous développer cela? Je ne sais pas ce que vous entendez par "utiliser %colors linux ".

Tapez « %colors linux » dans le terminal intégré et appuyez sur Entrée.

Pour tous ceux qui tombent sur cela, j'ai pu le réparer comme ceci:

IPython.embed(colors="neutral")

Merci @banool !

J'espère que cela pourra également aider d'autres personnes, mais voici la liste des choix de couleurs par défaut. Ceci est tiré de l'exception qui est levée si vous essayez d'utiliser un trait de couleur non pris en charge.

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

Pour un autre exemple utilisant le trait de couleurs "Linux" . J'obtiens un joli terminal de couleur brillante utilisant les couleurs 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]:    
Cette page vous a été utile?
0 / 5 - 0 notes