标签: ipython

iPython locals() 中的“_oh”是什么?以及如何在标准 python IDLE 中恢复当地人或创建新的当地人

我正在研究 IPython (Spyder) 中的命名空间,并尝试看看如果我dict.clear() locals(). 所以,事不宜迟:

Python 3.8.5 (default, Aug  5 2020, 09:44:06) [MSC v.1916 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 7.19.0 -- An enhanced Interactive Python.

In [1]: locals().clear()

In [2]: locals
Traceback (most recent call last):

  File "<ipython-input-2-f1c14746c80d>", line 1, in <module>
    locals

  File "C:\Users\sayan\Anaconda3\envs\tfgpu_py38\lib\site-packages\IPython\core\displayhook.py", line 263, in __call__
    self.update_user_ns(result)

  File "C:\Users\sayan\Anaconda3\envs\tfgpu_py38\lib\site-packages\IPython\core\displayhook.py", line 201, in update_user_ns
    if self.cache_size and result is not self.shell.user_ns['_oh']:

KeyError: '_oh'


In [3]: dict
Traceback (most …
Run Code Online (Sandbox Code Playgroud)

python namespaces local-variables ipython python-3.x

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

ipython 会话中缺少 kedro 上下文和目录

我启动了 ipython 会话并尝试加载数据集。
我正在运行
df = Catalog.load("test_dataset")
面临以下错误
NameError: name 'catalog' is not defined

我也尝试过 %reload_kedro 但出现以下错误

UsageError: Line magic function `%reload_kedro` not found.

甚至也无法加载上下文。我正在从 Docker 容器运行 kedro 环境。我不确定我哪里出错了。

ipython kedro

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

在 IPython '!command' 中混合 shell 变量和 python 变量

试图弄清楚 IPython(v7.12.0,在 Amazon SageMaker 上)上的这种行为是否是一个错误,或者我缺少一些正确的方法/记录的约束...

假设我有一些 Python 变量,例如:

NODE_VER = "v16.14.2"
NODE_DISTRO = "linux-x64"
Run Code Online (Sandbox Code Playgroud)

这些命令在笔记本中都可以正常工作:

!echo $PATH
# Shows **contents of system path**
!echo /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:
# Shows /usr/local/lib/nodejs/node-v16.14.2-linux-x64/bin
Run Code Online (Sandbox Code Playgroud)

...但这并不:

!echo /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:$PATH
# Shows:
# /usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:**contents of system path**
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几种组合,例如使用$NODE_VER语法代替(它生成node--/代替node-{NODE_VER}-{NODE_DISTRO}/,但似乎使用shell变量(PATH)和Python变量(NODE_VER/NODE_DISTRO)的任何组合都会失败。

谁能帮助我理解为什么以及如何解决它?

正如您可能已经猜到的那样,我的最终目标是实际将此文件夹添加到 PATH 而不是仅仅回显它 - 类似于:

!export PATH=/usr/local/lib/nodejs/node-{NODE_VER}-{NODE_DISTRO}/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

ipython jupyter-notebook jupyter-lab amazon-sagemaker

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

Python 中的 all(map) 和 any(map) 输出布尔值,但 IPython 中输出 true 映射对象

我使用 python 3.10.1,通过 ipython (7.31.0,调用相同的 python 3.10.1)交互进行探索,然后在脚本准备好后直接通过 python 进行探索。

我的代码中有一个错误,我将其简化为两者之间的以下行为差异:

[Python]

In [1]: any(map(bool, ("")))
Out[1]: <map at 0x7f7f2d6061d0>
Run Code Online (Sandbox Code Playgroud)

[CPython]

>>> any(map(bool, ("")))
False
Run Code Online (Sandbox Code Playgroud)

因为 IPython 中的输出map对象是真实的,所以当在语句中使用代码时,if两个程序将给出相反的结果。我想知道是什么导致了这种差异,是否可以采取任何措施来修复它,以及是否存在其他类似的错误(功能?)我应该注意。

python numpy ipython shadowing any

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

如何在交互式会话中(在iPython中)向现有类添加模型方法?

我有一个基本的模型:

class Person(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    state = USStateField() 
Run Code Online (Sandbox Code Playgroud)

我启动了一个iPython会话:

$ python manage.py shell
>>> from app.models import Person
Run Code Online (Sandbox Code Playgroud)

如何在iPython会话中添加此模型方法?

>>>    def is_midwestern(self):  
...        "Returns True if this person is from the Midwest."  
...        return self.state in ('IL', 'WI', 'MI', 'IN', 'OH', 'IA', 'MO')  

>>> person = Person.objects.filter(last_name='Franklin')
>>> person.is_midwestern
True
Run Code Online (Sandbox Code Playgroud)

我希望能够测试这些模型方法,而无需将该方法添加到models.py文件,然后重新启动iPython shell会话.

我似乎做错了,因为当我在交互式会话中添加新的模型方法时,它似乎没有像在文件中定义模型方法时那样链接到类.

因此,如果我创建了上面的模型方法并尝试使用它.例如'>>> person = Person.objects.filter(last_name ='Franklin')'is_midwestern'`
>>> person.is_midwestern
'Person' object has no attribute

python django ipython

1
推荐指数
1
解决办法
859
查看次数

交互式显示python中matplotlib中的图形

对于我的生活,我无法matplotlibipython不活动状态下显示图表.

我尝试了两种方法 - 每一次,我得到相同的结果:

In [10]: plot([1,2,3])
Out[10]: [<matplotlib.lines.Line2D at 0x104e9ca50>]
Run Code Online (Sandbox Code Playgroud)

以下是我到目前为止尝试的两种方法:使用文档作为指导,我尝试了两种不同的方法:

第一:

ipython --pylab

plot([1,2,3])
xlabel('hi mom')

In [3]: plot([1,2,3])
Out[3]: [<matplotlib.lines.Line2D at 0x107e369d0>]
Run Code Online (Sandbox Code Playgroud)

第二:

ipython
import numpy
import pylab

In [5]: pylab.plot([1,2,3])
Out[5]: [<matplotlib.lines.Line2D at 0x104ca7b90>]
Run Code Online (Sandbox Code Playgroud)

如何显示情节?

python numpy matplotlib ipython

1
推荐指数
1
解决办法
1030
查看次数

matplotlib与iPython笔记本和python文件的差异

我有一个matplotlib的奇怪问题,我似乎无法搞清楚.当使用带有pylab标志的ipython笔记本时,ipython notebook --pylab inline我有一行代码,用于生成带有matplotlib的颜色条:

im = ax.imshow(df, vmin=vmin, vmax=vmax)
Run Code Online (Sandbox Code Playgroud)

代码工作正常,我得到一个很好的颜色栏.当我将此代码作为python文件运行时,我收到错误NameError: name 'ax' is not defined.我明白ipython notebook --pylab inline自动将一堆东西导入到笔记本中,但我无法弄清楚我需要导入什么才能解决问题.print type(ax)得到:

<class 'matplotlib.axes.AxesSubplot'>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出为什么我的代码在ipython中工作但不是普通的python文件?提前致谢.

python matplotlib ipython

1
推荐指数
1
解决办法
6685
查看次数

更改IPython魔术函数前缀(从'%'到':'),无论如何?

有没有办法从默认的'%'更改IPython魔术函数前缀?我在ipython_config.py中找不到任何选项

由于我使用的是vim和ghci,我(不知何故)训练自己将':'作为命令前缀.

当我想调用魔术函数并自动为每个IPython魔术函数调用前缀':'时,这非常烦人,例如:cd,:ed和:load

ipython

1
推荐指数
1
解决办法
194
查看次数

IPython Notebook:用LaTeX绘图?

之前已经回答过在IPython Notebook中显示LaTeX的行,但是在IPython Notebook中绘图时,你如何用LaTeX字符串标记绘图的轴?

python latex matplotlib ipython ipython-notebook

1
推荐指数
1
解决办法
5045
查看次数

Enthought Canopy ipython配置:糟糕的解释器没有这样的文件或目录

我正在尝试使用以下命令从Mac OS 10.8.3中的终端启动Enthought Canopy的ipython:

/Applications/Canopy.app/appdata/canopy-1.0.0.1160.macosx-x86_64/Canopy.app/Contents/bin/ipython
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

/Applications/Canopy.app/appdata/canopy-1.0.0.1160.macosx-x86_64/Canopy.app/Contents/bin/ipython: /Library/Frameworks/Python.framework/Versions/7.1/Resources/Python.app/Content: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这个(7.1)框架之前已经安装但很久以前被删除了,所以我无法弄清楚Canopy的IPython从哪里获得这个链接.我也检查了我的./ipython/profile_default目录,但这没有帮助.

知道如何从终端启动ipython吗?

谢谢!

ipython enthought

1
推荐指数
1
解决办法
2518
查看次数