标签: ipython

在ipython中添加换行符

如果在iPython或任何多行命令中引入for循环,我该如何返回并向其添加行?我跑了这个:

for row in table.find_all('tr'):
    cells = row.find_all('td')
    for c,cell in enumerate(cells):
        print c,":",cell.get_text().strip()
    try:
        this = cells[0]
        that = cells[1]
        the_docket = cells[2]
        other_thign = cells[3]
        jumble = re.sub('\s+',' ',str(cells[5])).strip()            
    except:
        "Nope"
Run Code Online (Sandbox Code Playgroud)

并意识到我需要为它添加一行,但我不能只是在运行命令的iPython,b/c中点击"输入".那么我可以在iPython中编辑那个多行命令吗?

python ipython

52
推荐指数
7
解决办法
3万
查看次数

IPython工作流程(编辑,运行)

是否有IPython的GUI允许我打开/运行/编辑Python文件?我在IDLE中的工作方式是打开两个窗口:shell和.py文件.我编辑.py文件,运行它,并与shell中的结果进行交互.

可以像这样使用IPython吗?还是有另一种工作方式吗?

python user-interface ipython python-idle

50
推荐指数
3
解决办法
3万
查看次数

在IPython中释放巨大的numpy数组的内存

更新: - 这个问题在机器重启后解决了.还没有弄清楚为什么之前发生这种错误.

我有一个函数加载一个巨大的numpy数组(~980MB)并返回它.

当我第一次启动Ipython并调用此函数时,它会将数组加载到变量中而没有任何问题.

但是,如果我再次运行相同的命令,它将退出提出"内存错误".

我试过以下,

del hugeArray
Run Code Online (Sandbox Code Playgroud)

仍然发生同样的错误.我甚至尝试了以下内容

del hugeArray
gc.collect()
gc.collect()
Run Code Online (Sandbox Code Playgroud)

最初,gc.collect()返回145并且第二次调用返回48.但即使在此之后我调用该函数时,仍然会引发内存错误.

我可以再加载的唯一方法是重启ipython.我可以做些什么来释放ipython中的所有内存,以便我不必重新启动它?

----------------更新

以下是输出 %whos

Variable   Type      Data/Info
------------------------------
gc         module    <module 'gc' (built-in)>
gr         module    <module 'Generate4mRamp' <...>rom 'Generate4mRamp.pyc'>
np         module    <module 'numpy' from '/us<...>ages/numpy/__init__.pyc'>
plt        module    <module 'matplotlib.pyplo<...>s/matplotlib/pyplot.pyc'>
Run Code Online (Sandbox Code Playgroud)

除此之外,gr是我的模块,包含我用来加载数据立方体的函数.

---------如何重现错误

以下简单函数能够重现错误.

import numpy as np
import gc

def functionH():
    cube=np.zeros((200,1024,1024))
    return cube

testcube=functionH()   #Runs without any issue 

del testcube
testcube=functionH()  # Raises Memory Error

del testcube
gc.collect()
gc.collect()
testcube=functionH()  # Still Raises …
Run Code Online (Sandbox Code Playgroud)

python memory-management numpy ipython

49
推荐指数
1
解决办法
4万
查看次数

如何在ipython笔记本中写文字?

是一个IPython笔记本的例子,除了输入和输出单元,我们还有一个纯文本.我如何在我的IPython笔记本中做同样的事情?此刻我有inly InOut细胞.

ipython ipython-notebook

49
推荐指数
5
解决办法
9万
查看次数

matplotlib python内联开/关

如果我用matplotlib内联启动一个ipython笔记本,有没有办法随后绘制一个图形,以便以"标准",非内联方式显示,而不必在没有内联命令的情况下重新加载笔记本?我希望能够将一些数字内联到笔记本中,但其他人则采用传统的交互模式,我可以放大和平移.

matplotlib ipython ipython-notebook

49
推荐指数
4
解决办法
5万
查看次数

Jupyter(IPython)笔记本没有密谋

我安装了anaconda来使用pandas和scipy.我阅读和观看熊猫教程,他们都说要打开ipython笔记本

 ipython notebook --pylab==inline
Run Code Online (Sandbox Code Playgroud)

但当我这样做时,我收到一条消息说

"Support for specifying --pylab on the command line has been removed. Please use '%pylab = inline' or '%matplotlib =inline' in the notebook itself"
Run Code Online (Sandbox Code Playgroud)

但这不起作用.然后,当我尝试"plot(arange(10))"时,我收到一条消息"没有定义名称'情节'." 我试图从.csv文件中绘制数据并获得

"matplotlib.axes._subplots.AxesSubplot at 0xebf8b70".
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python ipython pandas

49
推荐指数
1
解决办法
4万
查看次数

如何在Linux中更改ipython/jupyter笔记本使用的默认浏览器?

我在Linux Mint 17.3上.如何更改Jupyter笔记本使用的默认浏览器?我已将笔记本电脑安装为Anaconda 3的一部分,并在我的默认浏览器(即Chrome)中打开.但出于某种原因,Chrome不会让我制作新的ipynb.单击"新建"按钮根本不做任何事情.所以我将笔记本网址复制到Firefox,它在那里工作得非常好.

有没有办法让它适用于Chrome?否则,如何更改默认浏览器?我遇到的通常答案是我必须更改c.NotebookApp.browser选项,但我找不到办法这样做,因为尝试ipython_notebook_config在终端中找到4个结果:

./anaconda3/lib/python3.5/site-packages/jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
./anaconda3/lib/python3.5/site-packages/jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
./anaconda3/pkgs/jupyter_core-4.0.6-py35_0/lib/python3.5/site-packages/jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
./anaconda3/pkgs/jupyter_core-4.0.6-py35_0/lib/python3.5/site-packages/jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
Run Code Online (Sandbox Code Playgroud)

linux firefox google-chrome ipython

49
推荐指数
2
解决办法
8万
查看次数

如何从脚本运行IPython魔术(或定时Python脚本)

IPython%timeit magic命令可以很好地测量运行某些Python代码所需的时间.现在,我想在Python脚本中使用类似的东西.我知道timeit模块,但它有几个缺点,例如,如何自适应地选择运行次数?即默认代码

import timeit
t=timeit.Timer("code(f)", "from __main__ import code,f")
t.timeit() 
Run Code Online (Sandbox Code Playgroud)

运行代码数百万次.%timeit IPyhton magic命令会自动执行此操作.我建议我可以使用MATLAB代码 http://www.mathworks.com/matlabcentral/fileexchange/18798

自动完成所有工作(并且还告诉函数的开销是否很大).

如何从Python脚本中调用%timeit magic(或者可能有更好的时序解决方案)?

python ipython

48
推荐指数
2
解决办法
3万
查看次数

如何在IPython笔记本中隐藏<matplotlib.lines.Line2D>

我正在I使用%matplotlibplot命令在内联模式下使用IPython笔记本绘制NumPy值的数组plt.plot(I,'o').

结果输出是:

<matplotlib.figure.Figure at 0x119e6ead0>
Out[159]:
[<matplotlib.lines.Line2D at 0x11ac57090>,
 <matplotlib.lines.Line2D at 0x11ac57310>,
 <matplotlib.lines.Line2D at 0x11ac57510>,
 <matplotlib.lines.Line2D at 0x11ac57690>,
 <matplotlib.lines.Line2D at 0x11ac57810>,
 <matplotlib.lines.Line2D at 0x11ac57990>,
 <matplotlib.lines.Line2D at 0x11ac57b10>,
 ....
 ....
]
Run Code Online (Sandbox Code Playgroud)

然后我的情节显示在这些输出线下方.

有没有办法只显示情节并隐藏<matplotlib.lines.Line2D at ...>输出?

python plot matplotlib ipython ipython-notebook

48
推荐指数
2
解决办法
1万
查看次数

将Conda环境与Jupyter Notebook联系起来

我正在努力为python做一些科学的东西设置一个良好的环境.为此,我安装了Jupyter和miniconda.

然后我希望能够拥有不同的环境,并将它们与Jupyter笔记本一起使用.所以我用conda创建了两个自定义env:py27和py35.

> conda env list
# conda environments:
#
py27                     /Users/***/miniconda3/envs/py27
py35                     /Users/***/miniconda3/envs/py35
root                  *  /Users/***/miniconda3
Run Code Online (Sandbox Code Playgroud)

然后在我的笔记本上我有两个内核python 2python 3.在笔记本内部,我使用python3内核获得以下内容:

> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python
Run Code Online (Sandbox Code Playgroud)

这与python2内核:

> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
  • 如何设置sys.executable为python2的miniconda env?
  • 如何将conda env与笔记本内核绑定?
  • 正在做source activate py35一个链接jupyter notebook吗?

我想我真的错过了什么.

谢谢大家.

---编辑

我有多个jupyter bin:

> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter
Run Code Online (Sandbox Code Playgroud)

我这里只有一个内核/usr/local/share/jupyter/kernels/python2.但在Jupyter里面,我有两个内核,python2而且python3.我在哪里可以找到另一个?


我修改kernel.json/usr/local/share/jupyter/kernels/python2:

{
 "display_name": "Python 2",
 "language": "python", …
Run Code Online (Sandbox Code Playgroud)

python ipython miniconda jupyter jupyter-notebook

48
推荐指数
4
解决办法
5万
查看次数