我正在使用Django并一直使用Django shell.令人讨厌的部分是当Django服务器重新加载代码更改时,shell不会,因此每次我对我正在测试的方法进行更改时,我需要退出shell并重新启动它,重新导入所有模块我需要,重新初始化我需要的所有变量等.虽然iPython历史记录在此节省了大量的输入,但这仍然很痛苦.有没有办法让django shell自动重载,就像django开发服务器一样?
我知道reload(),但我导入了很多模型并且通常使用from app.models import *语法,所以reload()没有多大帮助.
我有一个 foo.py
def foo():
print "test"
Run Code Online (Sandbox Code Playgroud)
在IPython中我使用:
In [6]: import foo
In [7]: foo.foo()
test
Run Code Online (Sandbox Code Playgroud)
然后我改为foo():
def foo():
print "test changed"
Run Code Online (Sandbox Code Playgroud)
在IPython中,调用的结果仍然是test:
In [10]: import foo
In [11]: foo.foo()
test
Run Code Online (Sandbox Code Playgroud)
然后我用:
In [15]: del foo
In [16]: import foo
In [17]: foo.foo()
test
Run Code Online (Sandbox Code Playgroud)
我删除了foo.pyc相同的文件夹foo.py存在,但仍然没有运气.
我可以知道如何在运行时重新导入更新的代码吗?
有没有人知道是否可以从命令行以非交互方式运行IPython/Jupyter笔记本,并将结果.ipynb文件与运行结果一起保存.如果还不可能,使用phantomJS实现有多难,可以打开和关闭内核,以及打开和关闭Web服务器的东西?
更具体地说,假设我已经有一个笔记本original.ipynb,我想重新运行该笔记本中的所有单元格并将结果保存在新笔记本中new.ipynb,但是在命令行上使用一个命令执行此操作,而无需在浏览器中进行交互或关闭内核或Web服务器,并假设没有内核或Web服务器已在运行.
示例命令:
$ ipython notebook run original.ipynb --output=new.ipynb
我想做类似以下的事情:
In[1]: name = 'long_name_to_type_every_now_and_then.py'
In[2]: %run name
Run Code Online (Sandbox Code Playgroud)
但这实际上是试图运行'name.py',这不是我想要做的.
是否有将变量转换为字符串的一般方法?
类似于以下内容:
In[3]: %run %name%
Run Code Online (Sandbox Code Playgroud) 所以,我一直试图将一个jupyter笔记本保存为PDF,但我无法弄清楚如何做到这一点.我尝试的第一件事是从文件菜单下载PDF格式,但这样做会导致:
nbconvert failed: PDF creating failed
Run Code Online (Sandbox Code Playgroud)
我尝试的下一件事是尝试从这样的命令提示符进行转换
$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb
Run Code Online (Sandbox Code Playgroud)
但同样,这会导致错误消息
ImportError: No module named 'PDF'
Run Code Online (Sandbox Code Playgroud)
如果我试试
$ ipython nbconvert --to latex MyNotebook.ipynb
Run Code Online (Sandbox Code Playgroud)
这导致了
IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn't found:
Please check that pandoc is installed
Run Code Online (Sandbox Code Playgroud)
如果我尝试安装pandoc(pip install pandoc),这给了我
ImportError: No module named 'ConfigParser'
Run Code Online (Sandbox Code Playgroud)
这就是我被卡住的地方,因为我只是不知道还能做什么.任何人都知道如何解决任何错误?
我对此很陌生,我不知道为什么自动完成功能不起作用。我尝试修改 ipython 配置文件,安装 readline,但仍然没有。帮助!
我总是阅读代码来像这样计算时间:
%timeit function()
Run Code Online (Sandbox Code Playgroud)
你能解释一下"%"的含义吗?
我认为,"%"总是用于替换字符串中的某些内容,例如%s表示替换字符串,%d替换数据,但我不知道这种情况.
我想在Jupyter笔记本上写一个类的报告.我想算一些东西,生成一些结果并将它们包含在降价中.我可以将单元格的输出设置为标记为降价吗?
我想要这样的命令:print '$\phi$'生成phi符号,就像降价一样.
换句话说,我想在markdown中创建一个模板,并插入由笔记本中编写的程序生成的值.重新计算笔记本应该生成新结果并插入新值的新降价.这是可能的,或者我需要自己更换值吗?
如果内联被激活,是否可以放大图?特别是对于3d图,旋转和缩放是必要的特征.
我想在Jupyter笔记本中查看图像.这是一个9.9MB的.png文件.
from IPython.display import Image
Image(filename='path_to_image/image.png')
Run Code Online (Sandbox Code Playgroud)
我得到以下错误:
IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
Run Code Online (Sandbox Code Playgroud)
有点令人惊讶并在别处报道.
这是预期的,有一个简单的解决方案吗?
(错误消息建议更改限制--NotebookApp.iopub_data_rate_limit.)
ipython ×10
python ×6
jupyter ×3
django ×1
matplotlib ×1
overloading ×1
pdf ×1
python-3.x ×1
runtime ×1