我试图在ipython的qtconsole中将文本显示为粗体,或颜色,或者可能以斜体显示.
我找到了这个链接:如何在Python中打印粗体文本?,并使用了第一个和第二个答案,但在qtconsole中,只有下划线选项有效.
我尝试:
print '\033[1m' + 'Hello World!' + '\033[0m'
得到:
Hello World!
(没有粗体字).颜色也不起作用.但:
print '\033[4m' + 'Hello World!' + '\033[0m'
得到:
Hello World!
带下划线.
这只是在qtconsole中.在终端中运行ipython,它可以用这种方式做粗体和颜色.
该链接中还有其他选项,使用Python在终端中打印颜色?从它链接,但它们似乎都更复杂,并且使用更复杂的包,而不是我想要做的事情,这只是让qtconsole像普通终端一样显示.
有谁知道发生了什么?这仅仅是qtconsole的限制吗?
我正在使用IPython Qt控制台,当我从Ipython复制代码时,就会出现这样的情况:
class notathing(object):
...:
...: def __init__(self):
...: pass
...:
Run Code Online (Sandbox Code Playgroud)
有没有办法复制它们没有那些领先的三点和双立方?
PS我尝试了两个Copy
并Copy Raw Text
在上下文菜单中,它仍然是相同的.操作系统:Debian Linux 7.2(KDE).
关于这一点有一些主题,但没有一个有令人满意的答案.
我有一个在IPython qt控制台中运行的python应用程序
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html
当我遇到错误时,我希望能够在那时与代码进行交互.
try:
raise Exception()
except Exception as e:
try: # use exception trick to pick up the current frame
raise None
except:
frame = sys.exc_info()[2].tb_frame.f_back
namespace = frame.f_globals.copy()
namespace.update(frame.f_locals)
import IPython
IPython.embed_kernel(local_ns=namespace)
Run Code Online (Sandbox Code Playgroud)
我认为这会奏效,但我收到一个错误:
RuntimeError:线程只能启动一次
我最近升级了我的熊猫版本.我现在安装了最新的稳定版本:
pd.__version__
Out[5]: '0.10.1'
Run Code Online (Sandbox Code Playgroud)
在此升级之前,这是数据框在qtconsole shell中的显示方式(这不是我的屏幕截图,而只是我在网上找到的一个).
最新版本的pandas还使用不同的方法来设置显示选项.
而不是使用pd.set_printoptions
,熊猫希望你使用这样的set_option
配置:
pd.set_option('display.notebook_repr_html', True)
Run Code Online (Sandbox Code Playgroud)
升级我的pandas版本后,qtconsole不再将数据帧呈现为html表.
一个例子:
import numpy as np
import pandas as pd
pd.set_option('display.notebook_repr_html', True)
pd.set_option('display.expand_frame_repr', True)
pd.set_option('display.precision', 3)
pd.set_option('display.line_width', 100)
pd.set_option('display.max_rows', 50)
pd.set_option('display.max_columns', 10)
pd.set_option('display.max_colwidth', 15)
Run Code Online (Sandbox Code Playgroud)
当我创建一个DataFrame时......
f = lambda x: x*np.random.rand()
data = {"a": pd.Series(np.arange(10) ** 2 ),
"b": pd.Series(map(f, np.ones(10))) }
df = pd.DataFrame(data)
df
Run Code Online (Sandbox Code Playgroud)
这是我在qtconsole shell中看到的:
Out[4]:
a b
0 0 0.15
1 1 0.74
2 4 0.81
3 9 0.94
4 16 0.40
5 …
Run Code Online (Sandbox Code Playgroud) 当我用以下任何一个加载ipython:
ipython qtconsole
ipython qtconsole --pylab
ipython qtconsole --pylab inline
Run Code Online (Sandbox Code Playgroud)
输出缓冲区仅保留最后500行.要查看此运行:
for x in range(0, 501):
...: print x
Run Code Online (Sandbox Code Playgroud)
这有配置选项吗?我已经尝试调整--cache-size但这似乎没有什么区别.
我正在使用Kubuntu 16.04和kde 5.6.4.我安装了anaconda python 3.5,其中包括ipython qtconsole.
要启动ipython qtconsole,我必须输入ipython qtconsole
终端.无论如何我可以为它创建一个发射器吗?
我知道有一个包,但它没有链接到anaconda python 3.5,我不想要另一个单独的python 3.5.
abhishek ~ $ apt-cache search ipython3-qtconsole
ipython3 - enhanced interactive Python 3 shell
ipython3-qtconsole - enhanced interactive Python 3 shell - Qt console
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用%qtconsole
jupyter笔记本中的魔法.我正在本地连接到远程服务器.
当%qtconsole
在笔记本电脑的单元格中输入和切换输入时,没有任何反应.没有错误消息,但也没有qt控制台.
这与远程服务器有关吗?任何人都知道如何解决这个问题?
下面的代码在'ipython qtconsole'中打印'我想要打印',但它不能在普通的IPython中打印.
import logging
import logging.handlers
log = logging.getLogger()
f = logging.Formatter("%(asctime)s - %(module)s. %(funcName)s - %(levelname)s - %(message)s")
fh = logging.handlers.TimedRotatingFileHandler('log.txt', 'W6')
fh.setFormatter(f)
log.addHandler(fh)
log.setLevel(logging.INFO)
log.info('I want this to print')
Run Code Online (Sandbox Code Playgroud)
在'IPython qtconsole'然而我得到了不同的问题,我试图在这里解释(这不是很好,不需要阅读!).
你能告诉我为什么吗?
编辑:我使用Python 2.7
EDIT2:也许我真的只需要添加logging.StreamHandler.
在OSX 10.9上,我安装了Qt5.后来我安装了Ipython,sip和PyQt5都是从源代码构建的.现在问题是:当我尝试运行时ipython qtconsole
,我有一堆与此目录中的文件相关的错误(及其子文件夹)
/Library/Python/2.7/site-packages/IPython/
Run Code Online (Sandbox Code Playgroud)
其次是
ImportError:
Could not load requested Qt binding. Please ensure that
PyQt4 >= 4.7 or PySide >= 1.0.3 is available,
and only one is imported per session.
Currently-imported Qt library: None
PyQt4 installed: False
PySide >= 1.0.3 installed: False
Tried to load: ['pyside', 'pyqt']
Run Code Online (Sandbox Code Playgroud)
我假设问题是我有PyQt5而不是PyQt4.这是问题还是我错过了其他一些事情?
无论如何我可以使用PyQt5获得qtconsole吗?如果不是,最简单的方法是什么?(优选地,不涉及在一台机器上具有两个版本的Qt库的方法).
为简洁起见,我跳过了发布完整的错误消息.如果我应该从更好地了解情况中加入它们,请告诉我.
这个较旧的问题似乎已过时.
它曾经是(基于阅读git repos和qtconsole问题跟踪器)你可以启动Jupyter QtConsole而不需要运行背景的控制台窗口:
pythonw -m jupyter qtconsole
但是,在最近的Jupyter版本中,这仍然会启动后台控制台窗口.
我想知道是否有人知道如何在没有烦人的控制台窗口的情况下启动QtConsole.我知道你可以从Anaconda Navigator程序中做到这一点,但我不想启动一个程序,以便我可以启动另一个程序.我更喜欢有一个简单的批处理脚本甚至是python脚本,以便我可以使用"开始"菜单快捷方式启动
直接运行模块也不起作用:
pythonw -c "from qtconsole.qtconsoleapp import main; main()"
这仍然会启动一个新的控制台窗口,如图所示,所以我真的不知道这是否可能以某种直接的方式,或者如果Anaconda Navigator正在做一些黑魔法来实现这一点