问题标签 [ptpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
281 浏览

python - Python解释器中的自动完成和函数定义

请参阅下面的 GIF 关联

当您在终端中键入时,所有函数的文档如何显示?

我已经熟悉自动完成,并且有很多教程可以做到这一点,但是函数定义呢?目前我正在使用pip install ptpython模块来获得自动完成功能,但我也想知道函数定义。有人可以帮我吗?

0 投票
1 回答
508 浏览

python - prompt_toolkit 键 add_binding 不起作用

我正在学习 prompt-toolkit 并尝试使用 prompt-toolkit 解决自定义提示(我已经知道有一个 std.prompt 的工作方式不同)。我正在遵循Jonathan类似问题的描述。

到目前为止,我从他提供的ptpython样本中取出并缝合了建议的部分,并将其剥离,使其接近我想要做的。显然,我错过了实现 UP、DOWN 事件并选择选项的东西。有任何想法吗?

0 投票
3 回答
238 浏览

python - How to inspect the type of REPL you're using?

There're many kinds of Python REPL, like the default REPL, ptpython, ipython, bpython, etc. Is there a way to inspect what current REPL is when I'm already in it?

A little background:
As you may have heard, I made pdir2 to generate pretty dir() printing. A challenge I'm facing is to make it compatible with those third-party REPLs, but first I need to know which REPL the program is running in.

0 投票
1 回答
357 浏览

python-3.x - 无法使用 python 安慰剂捕获 boto3

我有一些 Python (v.3.x) 像使用 boto3 等在 AWS 上的魅力一样工作。现在我被要求围绕它编写一些测试,所以我发现它可以捕获我将创建测试的响应周围:

https://github.com/garnaat/placebo

使用 ptpython 我可以运行我的代码,但没有进行录制(不是我能找到的),这就是我所做的:

我现在唯一在想的是我在 Windows 7 上的事实,也许它不接受这条路。
有什么想法吗?

0 投票
1 回答
494 浏览

python - 如何在 Python 类中正确“存根”__objclass__?

我的 Python 类看起来有点像这样:

有时,我正在使用ptpython(交互式 Python shell)进行调试。ptpython检查类的实例并尝试访问__objclass__不存在的属性。在__getattr__,我可以if name != "__objclass__"在使用之前简单地检查一下name,但我想知道是否有更好的方法通过正确实现或以某种方式存根__objclass__

Python文档并没有说太多,或者至少我不明白我必须做什么:

该属性__objclass__inspect模块解释为指定定义该对象的类(适当地设置它可以帮助动态类属性的运行时自省)。对于可调用对象,它可能指示期望或需要给定类型(或子类)的实例作为第一个位置参数(例如,CPython 为在 C 中实现的未绑定方法设置此属性)。

0 投票
1 回答
436 浏览

python - 如何在 ptpython 控制台中读取历史记录?

我一直试图弄清楚如何在ptpython控制台中保存和读取我的 Python 命令的历史记录,但一直没能做到。到目前为止,我所有的努力都是这个答案的变体。但是,我仍然无法阅读我的历史。

我只是希望能够按下↑</kbd> and ↓</kbd> arrows to go through my Python commands from a previous console session (not the current console session that I'm in). Here's what I currently have in my $PYTHONSTARTUP file:

我的$PYTHONSTARTUP变量是:

我使用的是 Python 3.7.3、macOS 10.14.6 和 ptpython 2.0.4。

谢谢

0 投票
3 回答
65 浏览

python - 在新的 python 虚拟环境中持久安装模块

对于背景,我主要在终端中工作并使用 vim 编辑代码。对于长期的 python 项目,我使用诗歌管理 venvs 并在源代码控制中锁定文件。

我喜欢在我工作的几乎每个 venv 中安装一些模块,例如 ipython/ptpython、(pytest-)icdiff 和其他“生活质量”扩展,我不需要强加给不使用的项目合作者我的工作流程。我可以使用我的发行版的包管理器(或 pipx)在全局范围内安装 ptpython,但是当我运行它时,它不会在本地 venv 中运行,并且无法访问本地依赖项。这变得令人讨厌,因为随着锁定文件的更改,我会定期重新创建 venvs。现在我有一个安装这些东西的 shell 脚本,但这感觉就像一个 hack。

一个理想的解决方案可能是创建类似 venv 模板的方法,类似于 git templatedir 选项。Python有这样的东西吗?

0 投票
0 回答
39 浏览

python - 提示工具包输入钩子没有被调用

我正在尝试在基于 ptpython 的自定义 shell 中调用自定义输入挂钩。我按照文档中的说明进行操作,但我一定做错了:从未调用自定义挂钩。

这是使用最新的 ptpython (3.0.16) 和提示工具包 (3.0.18) 重现问题的示例:

知道我做错了什么吗?

0 投票
1 回答
190 浏览

python - python-prompt-toolkit:使容器可滚动

我正在尝试使用 ScrollablePane 使容器可滚动。但我无法使用鼠标或键盘滚动