【问题标题】:Sublime Text working very slow on executionSublime Text 执行速度很慢
【发布时间】:2018-12-26 20:35:00
【问题描述】:

我的 Sublime Text 编辑器运行非常缓慢,这在处理涉及大量迭代的任务时会导致一些问题。

当我在编辑器中运行以下行时:

print("Hello World")

我收到:

hello world
[Finished in 7.3s]

Sublime 运行代码需要 7.3 秒,我很惊讶。在 Atom 中运行相同的脚本需要 0.083 秒。

这是我在“设置”中输入的代码。我认为没有任何联系,但我将其包括在内只是为了完整性,我是否应该忽略某些东西

{
    "font_size": 12,
    "ignored_packages":
    [
        "Package Control",
        "Vintage"
    ]
}

什么可能导致这种速度变慢,我该如何加快速度?

【问题讨论】:

  • Sublime 向外部 python 命令运行代码并计算命令运行所需的时间。因此,较长的执行时间不一定与 Sublime 本身相关,除非出现诸如打字之类的事情似乎也需要大量时间。也就是说,您的问题包括两次输出;你的意思是第二次加入一些不同的东西吗?
  • @OdatNurd 感谢您的回复。所以你说它应该花费大约只要我在终端中使用'python3 myapp.py'运行它的时间吗?另外,感谢您的关注。我用原来打算的 sn-p 替换了第二块代码
  • 或多或少,是的;在幕后 Sublime 使用 Python subprocess.Popen() 调用来运行程序并捕获输出,因此操作系统可能会花费一些时间来启动新进程,但否则一切都发生在 Sublime 之外。可能该过程运行和完成所需的时间少于 Sublime 注意到它已完成所需的时间,但您会注意到它已经完成并且在这种情况下没有告诉您时间。

标签: python sublimetext3 sublimetext


【解决方案1】:

我最终找到了问题的原因/解决方案,并且将回答我自己的问题,以防其他人可能遇到同样的问题:

我的 .bash_profile 文件包含以下 sn-p 代码,似乎是由 Anaconda 安装程序在某些时候添加的:

# added by Anaconda3 5.3.0 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<

似乎每次我启动终端时都会执行此代码,并导致大约 5-12 秒的等待时间,这很烦人。我尝试删除它,现在我的终端将立即启动。此外,Sublime 现在在此更改后执行得更快(您通常期望的速度)。

似乎 sublime 在编辑器中启动了一个终端实例,而 atom(不受 .bash_profile 中导致速度变慢的 anaconda 代码的影响)似乎在做一些不同的事情。

虽然我无法在终端中调用 conda,但我现在遇到了问题。我可以通过添加以下行来解决这个问题:

export PATH="/anaconda3/bin:$PATH"

到我的 .bash_profile 文件。这解决了后一个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多