草庐IT

dot-emacs

全部标签

python - 在 emacs python shell 中重新加载更改的 python 文件

在emacsPythonshell(我正在运行2.*Python)中,我正在导入一个我正在使用的.py文件并测试代码。但是,如果我更改代码,我不确定如何再次导入它。从我目前的阅读看来reload(modulename)应该可以,但似乎不行。也许只是关闭pythonshell并重新启动它就足够了,是否有相应的命令,或者您只是手动执行?编辑:看起来python-send-defun和python-send-buffer是理想的,但更改似乎没有传播。 最佳答案 虽然reload()确实有效,但它不会更改对类、函数和其他对象的引用,因此很容

python - emacs-jedi 没有找到 numpy 完成

我安装了emacs-jedi以在emacs中为python完成一些代码补全。总的来说,我必须说我印象非常深刻!它开箱即用,可以快速找到内置库的补全。但是,我将python用于科学目的,并依赖numpy和scipy来完成我的工作。出于某种原因,我没有完成这些模块。例子:importnumpytestVector=numpy.array([1,2,3])现在输入testVector。等待,什么也没有出现 最佳答案 我想知道为什么它不起作用。它看起来像sys.path问题,但它应该无需任何配置即可工作。但这里有一些暴力修复的想法。(1)运

emacs : __name__ == '__main__' , 中的 Python 但不知何故不是

我在emacs中编写python代码。然而,以某种方式运行在emacs中的python解释器让我感到惊讶。如果我写print()print(__name__)print(__name__=='__main__')if__name__=='__main__':print("indeed")在一个emacs缓冲区中,并告诉emacs启动一个解释器并运行这个缓冲区的内容,我得到一个包含Python3.3.5(default,Mar182014,02:00:02)[GCC4.2.120070831patched[FreeBSD]]onfreebsd9Type"help","copyright"

python - 为什么 B = numpy.dot(A,x) 循环执行 B[i, :, :] = numpy. dot(A[i, :, :], x) ) 如此慢?

我得到了一些我无法解释的效率测试结果。我想组装一个矩阵B,其第i个条目B[i,:,:]=A[i,:,:].dot(x),其中每个A[i,:,:]是一个二维矩阵,x也是。我可以通过三种方式来执行此操作,为了测试性能,我制作了随机(numpy.random.randn)矩阵A=(10,1000,1000),x=(1000,1200)。我得到以下时间结果:(1)单个多维点积B=A.dot(x)totaltime:102.361s(2)遍历i并进行二维点积#initializeB=np.zeros([dim1,dim2,dim3])foriinrange(A.shape[0]):B[i,:,:

python - 从 emacs 运行 py.test

如果正在编辑的文件的名称以test_开头,我希望C-cC-c运行py.test并在另一个缓冲区中显示输出,否则通常运行py-execute-buffer。我该怎么做?我在python模式下使用emacs23.1.1,可以从命令行访问py.test。 最佳答案 这还没有经过特别好的测试;这只是一个粗略的想法。(defunpy-do-it()(interactive)(if(string-match(rxbos"test_")(file-name-nondirectory(buffer-file-name)))(compile"py.t

python - Emacs Python 模式中类似 bpython 的自动完成和参数描述?

我一直在使用bpython暂时满足我所有的Python解释需求。这是令人愉快的,尤其是当您使用不熟悉的新库或具有多种功能的库时。无论如何,有一个bpython解释器与我正在做的事情一起运行是很好的,但如果我同时拥有类似自动完成的功能和bpython所做的参数描述,那就更好了while我正在Emacs中编辑代码。我完全疯了吗?有没有人知道如何做到这一点?谢谢,布拉德利鲍尔斯 最佳答案 你还没有完全疯掉。python-mode可以与eldoc-mode集成显示您正在调用的函数的参数规范。就做M-xeldoc-mode当你在python文

python - 使用 Cython 优化 numpy.dot

我有以下一段代码,我想使用Cython对其进行优化:sim=numpy.dot(v1,v2)/(sqrt(numpy.dot(v1,v1))*sqrt(numpy.dot(v2,v2)))dist=1-simreturndist我已经编写并编译了.pyx文件,当我运行代码时,我没有看到任何显着的性能改进。根据Cython文档,我必须添加c_types。Cython生成的HTML文件表明瓶颈是点积(当然这是意料之中的)。这是否意味着我必须为点积定义一个C函数?如果是,我该怎么做?编辑:经过一些研究,我想出了以下代码。改进只是微不足道的。我不确定我是否可以做些什么来改进它:from__fu

python - 如何用 emacs 拼写检查 python 文档字符串?

如果可能的话,我想在我的Python代码的文档字符串上运行一个拼写检查器。我找到了ispell-check-comments设置,它可用于仅对代码中的注释进行拼写检查,但我无法仅针对python特定的文档字符串。 最佳答案 我建议您尝试flyspell-mode。你可以使用类似的东西:(add-hook'python-mode-hook'flyspell-prog-mode)在您的Emacs配置中。 关于python-如何用emacs拼写检查python文档字符串?,我们在StackOv

Python:使用 "dot notation"访问 YAML 值

我正在使用YAML配置文件。所以这是在Python中加载我的配置的代码:importosimportyamlwithopen('./config.yml')asfile:config=yaml.safe_load(file)这段代码实际上创建了一个字典。现在的问题是,为了访问我需要使用大量括号的值。YAML:mysql:user:pass:secretpython:importosimportyamlwithopen('./config.yml')asfile:config=yaml.safe_load(file)print(config['mysql']['user']['pass'

python - 是否有一个好的 Python 的 emacs 插件,就像 R 的 ESS 和 Lisp 的 slime 一样?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我已经尝试过Ropemacs和Pymacs,但我认为它们不够好..我真的很喜欢ESS和Slime中强大的补全功能。对于python,如果我想实验性地尝试一些功能,我通常会尝试iPython。Python有没有这样的emacs插件(tab