草庐IT

ipython-notebook

全部标签

python - 如果 __name__ == '__main__' 在 IPython

我的Python脚本使用if__name__=='__main__'技巧让某些代码仅在脚本作为脚本调用时运行,而不是在将其加载到交互式解释器中时运行。但是,当我使用%edit命令从IPython编辑这些脚本时,IPython显然将__name__设置为'__main__',因此代码会运行每次我退出编辑session。当从IPython编辑模块时,有没有一种好方法可以让这段代码不运行? 最佳答案 在Emacs中工作时(我认为这与使用%edit得到的结果很接近),我通常使用这个技巧:if__name__=='__main__'and'_

python - 如何在 IPython 控制台中默认运行文件而不是终端?

我在PyCharm中开始了一个新项目。我安装了Anaconda3.6。因此,在PyCharm中,我选择了Anacondapython.exe作为项目解释器。当我第一次运行PyCharm时,它使用IPython控制台作为“默认”控制台来运行我的脚本。然后我重新启动了我的电脑,现在PyCharm在我运行我的脚本时使用终端。为什么?我不想使用来自AnacondaSpyderIDE的终端。我用过IPython,我喜欢它,我想用它。如何完全禁用终端并仅使用IPython控制台? 最佳答案 简答:转到File>Defaultsettings>B

Python/IPython 导入错误 : no module named site

我的python2.7.3和ipython1.2在我的Linux系统(ubuntu12.04)但正在尝试安装类(class)作业所需的更新版本的matplotlab。在终端运行此代码行后user$sudoeasy_install-Udistributeuser$exportPYTHONHOME=/usr/lib/python2.7/现在每次我尝试运行python或ipython时都会收到错误消息ImportError:nomodulenamedsite我如何扭转/解决这个问题?我迷路了。我查看了其他类似的问题,但没有其他人使用Linux并且我不确定该怎么做。

python - 如何在 jupyter-notebook 中逐行执行代码?

我正在阅读Python机器学习这本书,并尝试分析代码。但是它只提供*.ipynb文件,这让我很烦。例如,在这段代码中,我不想运行整个In[9]而是想逐行运行,以便我可以检查变量的每个值并了解每个库函数的作用。每次我想执行部分代码时都必须评论吗?我只想要像MATLAB中的Executeblockpart之类的东西另外,假设我注释了部分代码并逐行执行。如何在不使用print()或display()的情况下检查每个变量的值?如您所知,我不必使用print()来检查终端中pythoninteractiveshell中的值。Jupyter中是否有类似的方法? 最佳答案

python - 从 IPython 重新加载 Python 扩展模块

使用Cython,我正在开发一个扩展模块,它被构建为.so文件。然后我使用IPython对其进行测试。在开发过程中,我经常需要进行更改和重建。我还需要退出IPythonshell并重新输入所有命令。使用重新导入模块importimpimp.reload(Extension)不起作用,代码没有更新。有没有办法让我在重建模块后避免重新启动IPythonshell? 最佳答案 如果不重新启动进程,就无法重新加载C扩展(请参阅thisofficialPythonbug了解更多信息)。由于您已经在使用IPython,如果您可以接受,我可能会建

python - 像在 MATLAB 中一样在 IPython 中保存 session ?

保存session变量会很有用,这些变量可以在以后轻松加载到内存中。 最佳答案 In[23]:%logstart/tmp/session.logActivatingauto-logging.Currentsessionstateplusfutureinputsaved.Filename:/tmp/session.logMode:backupOutputlogging:FalseRawinputlog:FalseTimestamping:FalseState:activeIn[24]:x=1In[25]:%logstopIn[26]:

python - 丢失了重要的 .py 文件(被覆盖为 0byte 文件),但旧版本仍然作为模块加载到 IPYTHON 中——可以检索吗?

在管理多个不同的屏幕session时,其中许多都打开了vim,在尝试“组织”我的session的过程中,我设法用0Byte文件覆盖了一个非常重要的.py脚本。但是,我打开了一个ipython实例,当将相同的.py文件作为模块运行时,它仍然记得曾经存在的代码!我是不是刚刚学到了有关备份的惨痛教训(我的最后一个是大约一周前由vim完成的,这会让我有很多工作要做),或者是否有任何可能的、可想象的方法来检索.py来自已加载模块的文件?我可能因为如此漫不经心而活该,但我在这里真的很绝望。 最佳答案 如评论中所述,inspect.getsour

python - 覆盖 jupyter notebook 中的先前输出

假设我有一段代码运行了一段时间,每1秒输出如下内容:iterationX,scoreY。我将用我的黑盒函数替换这个函数:fromrandomimportuniformimporttimedefblack_box():i=1whileTrue:print'Iteration',i,'Score:',uniform(0,1)time.sleep(1)i+=1现在当我在Jupyternotebook中运行它时,它每秒输出一个新行:Iteration1Score:0.664167449844Iteration2Score:0.514757592404...是的,当输出变得太大时,html变得可

python - 如何让 Ipython 在元素后输出一个没有换行符的列表?

IPython控制台打印带有换行符的元素列表,以便每个元素都显示在自己的行中。这通常是一个特性,但在我的情况下它是一个错误:我需要复制和粘贴长列表,所以我需要一个紧凑的表示。我怎样才能做到这一点? 最佳答案 您可以使用%pprint命令来开启/关闭pprint功能:In[1]:range(24)Out[1]:[0,1,2,...21,22,23]In[2]:%pprintPrettyprintinghasbeenturnedOFFIn[3]:range(24)Out[3]:[0,1,2,3,4,5,6,7,8,9,10,11,12,

python - 如何判断 IPython 是否正在运行?

我有一个IPython笔记本。我有一个长时间运行的循环,在其中一个代码块中不产生任何输出。不是这个,但想象一下是这样的:foriinrange(100):time.sleep(2)我刚才开始运行代码块,现在我不知道它是否已完成,或者它是否仍在运行。IPython状态栏顶部显示的所有内容都是LastCheckpoint:23minutesago(autosaved)。浏览器选项卡中也没有任何内容可以显示它是否正在运行代码。我不想开始下一个block,因为我不知道这个block是否已经完成。而且我不想停止内核并向这个block添加打印语句,因为如果它已经完成了80%,我不想杀死它并重新启动