问题标签 [elpy]
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.
python-3.x - 在标准输入上使用相对导入的 Python 3 脚本给出错误:没有名为 '__main__.XXX' 的模块;'__main__' 不是一个包
在标准输入上使用相对导入的 Python 3 脚本给出错误:没有名为“ main .XXX”的模块;' main ' 不是一个包
如果我有一个使用以下形式的相对导入语句的 Python 3 脚本
而其他一些脚本将上述脚本作为模块导入,它可以正常工作。但是,当我在 Python 解释器的标准输入上执行包含上述行的脚本时,我收到以下形式的错误:
我需要使用标准输入的原因是因为我需要使用 Elpy ( https://elpy.readthedocs.io/en/latest/ ),它允许我评估该脚本(使用 Cc Cc 键绑定),然后添加其他在该脚本中调用函数的 Python 代码,类似于 pdb 'interact' 命令。
下面是一个独立的脚本来演示正在发生的事情:
这是上面的输出:
我尝试了各种方法,但无法提出解决方案。我能做的最好的就是删除最初的“。” 像这样:
但它破坏了正常执行:
为了完成上述工作,我必须PYTHONPATH
在环境中设置以冒号分隔的目录列表以及我使用的所有脚本。这对于我自己的脚本来说是可行的,但是只要我想通过标准输入将其他已发布的脚本读入 python,它就会再次中断,除非我通过这些脚本并删除初始的“。” 暂时(这是一个麻烦和容易出错)。
那么,有没有办法让所有这些情况都有效?我确实可以选择更改我正在使用的工具(将脚本提供给 python 的标准输入的工具)以 在实际脚本之前向该标准输入流添加额外的代码,但如果这是解决方案,什么语句会强制它去工作?
有助于理解的有用参考资料,但这并没有揭示解决方案:
python - 如何使用 Pipenv 在 Emacs Elpy Python shell 中获取环境变量?
我在 Emacs 上使用 Elpy 并使用 pipenv。当我启动 Elpy Python shell 或将当前缓冲区发送到 shell 时,我无法获取我在终端中设置的环境变量。但是我非常希望能够将我的代码和环境变量发送到 Elpy shell,我该怎么做呢?
虚拟环境运行良好,因为我所有的包都在那里;另外,如果我使用 pipenv-shell,我可以访问我的环境变量。
我检查了一下os.environ
,它表明我正在使用正确的虚拟环境,其他一切看起来就在那里,只是没有我自己设置的变量。有没有办法从 Elpy 设置环境变量?我查看了文档,但对此我仍然不清楚。我宁愿使用操作系统环境变量而不是“项目变量”或类似的东西,因为我还需要能够在 Emacs 之外编辑和运行代码。
编辑:好的,我意识到我可以使用 Mx setenv 来设置环境变量,这可以满足我的需要,但我仍然想知道如何让 Elpy 识别已经设置的环境变量。
autocomplete - 如何在 emacs 中使用 ELPY 进行自动完成工作?
我正在尝试为 python 编程配置我的 emacs。Elpy 自动完成建议在所有情况下都不起作用。有什么建议么?
这是我的elpy-config
...
python-3.x - Elpy 初始化并按预期工作,除了错误突出显示功能
所以我是emacs的新手,只是在创建init.el之后和其他人一起启用了elpy,如下所示:
我期待它能够突出显示错误的陈述,如这篇关于 realpython 的文章中所解释的那样。
但是,错误突出显示似乎无法按预期工作,如下所示:
自动完成、语法高亮等其他功能按预期工作。请帮忙。TIA
python - 如何在单元测试失败后停止 python 进程终止,以便我可以调用 pdb.pm
这是一个关于基本 python 工作流程的新手问题。我有一个 python 文件库和一组相关的单元测试。其中一项测试失败了,我想在失败的地方注入 pdb。
我的工作流程使用 elpy 和 emacs,否则我非常喜欢并且更愿意坚持使用它们。我在 emacs 中加载测试文件,启动 python shell,然后在 python shell 中运行测试代码。有些东西会引发异常,从而导致测试失败。python 进程结束并打印堆栈跟踪。
如果进程仍然存在,我会调用pdb.pm()
在错误源处启动调试器,以便我可以交互地调查堆栈,这就是我想要实现的目标。单元测试文件的基本结构是
emacs - Org-babel 不会在 src 块中打印来自 Anaconda 的结果
我需要一些帮助来正确配置以使用 babel 在 org-mode 文件anaconda
中运行代码。python3
不知何故,当我尝试从 Anaconda 中的库运行代码时,babel 无法识别它。这是我从在 org-mode 中运行的代码中得到的结果
iPython 终端返回:
我的init文件的对应细节在这里
我究竟做错了什么?是virtualenv-path
吗?我已经尝试了不同的选择但没有成功
emacs - emacs python-mode / elpy中的制表符和空格
这是一个令人沮丧的绝妙练习。出于某种原因,我的 python-mode / elpy 缓冲区总是有intent-tabs-mode nil
. 我正在使用 python-mode 6.2.3、elpy 1.32.0 和 emacs 25.2.2。我的 .emacs 文件包含:
但indent-tabs-mode
仍然存在nil
。当然,仅在 python 模式下。从describe-variable
python-mode / elpy 缓冲区中:
我使用的 python-mode.el 版本包含以下 [第 955-964 行]:
[第 5159-5165 行]
[第 6787-6820 行]
[第 22259-22266 行]
再次(与上面几乎相同)[第 25021-25033 行]:
indent-tabs-mode
我已经设置了可以在 to 的任何 *.el 文件中找到的任何定义的每个版本,但t
没有任何效果。
python - Emacs 无法找到 python
我正在尝试在 Doom Emacs 中启用 python 开发环境(我是新手);我安装了elpy;并尝试启动显示“找不到python但可以从Microsoft安装...”的shell。
然后我将它添加到我的 config.el 中:
又试了一次;在迷你缓冲区中显示:
但这就是我的 python 二进制文件所在的位置。我在“执行路径”中添加了相同的路径;仍然无法在 eshell 中运行 python。
emacs - 用诗歌设置 Emacs Elpy
如何配置 Elpy 以使用安装在 Poetry 项目虚拟环境中的开发依赖项,例如 Black、Jedi 和 flake8,而不是安装在系统范围内的依赖项?
python - Elpy 中有对象浏览器吗?
我的工作环境:
我在 Emacs 上安装了Melpa的 elpy。为了在我的代码中导航,我在开发 Python 应用程序时使用 Cc Co 查看定义的类、函数和方法的列表。然而,似乎没有显示全局变量和类属性。我想知道是否可以在 Emacs 中拥有一些允许查看当前打开项目中的所有内容的对象浏览器?我的意思是 Eclipse、Netbeans、Sublim 等我们可以拥有的树状/分层视图(通常作为侧边栏),显示所有内容:文件夹、类、方法、变量、属性。
为了在不同的文件夹中导航,我使用 Dired 来完成这项工作。因此,我目前正在尝试实现的主要两件事(如果可能在 Emacs 中)是:
- 拥有一个具有我刚才描述的特性的对象浏览器。
- 当我在对象浏览器中单击一个元素时,能够在单击该元素之前找到光标的完全相同的位置,而不是执行 CN 或 CP 以便在继续之前找到先前的位置。如果没有对象浏览器,在代码中,目前我可以在光标位于标识符上时
M-.
部分实现这一点。M-*
但即使根据在线文档,这并不总是有效。