【问题标题】:Issue with loading SublimeREPL in Sublime Text 3 and Ipython shell在 Sublime Text 3 和 Ipython shell 中加载 SublimeREPL 的问题
【发布时间】:2014-02-11 22:59:15
【问题描述】:

我一直在尝试解决此问题一段时间,但我无法解决它。我将 SublimeREPL 与 Sublime Text 3 一起使用。每当我尝试从 SublimeREPL 启动 Ipython shell 时,都会收到此错误:

Traceback (most recent call last):
  File "/home/user/.config/sublime-text-3/Packages/SublimeREPL/config/Python/ipy_repl.py",  line 51, in <module>
  embedded_shell = ZMQTerminalIPythonApp(config=cfg, user_ns={})
  File "/usr/lib/python2.7/dist-packages/IPython/core/application.py", line 150, in __init__
  super(BaseIPythonApplication, self).__init__(**kwargs)
  File "/usr/lib/python2.7/dist-packages/IPython/config/application.py", line 166, in __init__
  SingletonConfigurable.__init__(self, **kwargs)
  File "/usr/lib/python2.7/dist-packages/IPython/config/configurable.py", line 84, in __init__
  self.config = config
  File "/usr/lib/python2.7/dist-packages/IPython/utils/traitlets.py", line 307, in __set__
  obj._notify_trait(self.name, old_value, new_value)
  File "/usr/lib/python2.7/dist-packages/IPython/utils/traitlets.py", line 458, in _notify_trait
  c(name, old_value, new_value)
  File "/usr/lib/python2.7/dist-packages/IPython/config/application.py", line 176, in _config_changed
  self.log.debug('Config changed:')
AttributeError: 'ZMQTerminalIPythonApp' object has no attribute 'log'

***Repl Closed***

问题似乎出在 application.py 模块中的这个 ZMGTerminalIPythonApp 对象上。当我从命令行加载它时,Ipython 工作得很好。

更新:所以我也尝试直接从命令行运行 ipy_repl.py 文件。我原以为它会失败,但它实际上工作得很好。我没有收到上面的错误。所以不清楚为什么从 ST3 调用 SublimeREPL 时出现上述错误,但是当我从命令行调用 SublimeREPL ipython shell 时,一切正常。

还有其他人能够解决这个问题吗?

【问题讨论】:

  • 您是否安装了pyzmq
  • 是的,我已经安装了 pyzmq 和一切。我也使用 ipython,所以 pyzmq 是必需的。谢谢。

标签: python ipython sublimetext3 pyzmq sublimerepl


【解决方案1】:

好的,我找到了问题所在。这一切都与我的 $PATH 变量有关。我将来自 Continuum.io 的 Anaconda 包用于科学 python——顺便说一句,这是一个很棒的包。因此 Anaconda 将更新 $PATH 变量,以便它的 python 二进制文件版本首先出现在 $PATH 中,因此是 pip 所针对的版本。我知道 Ipython 用 Anaconda 做到了这一点,但python 也没有。所以当我用pip更新pyzmq时,那是更新Anaconda发行版而不是/usr/bin/ ...中正常的本地安装python安装

有趣的是,SublimeREPL 试图针对 /usr/bin/... 中的 python 安装调用 REPL,而不是仅仅遵循对 Anaconda 发行版的正常 $PATH 变量引用。我仍然不确定这是怎么发生的?

所以无论如何,当我使用easy_install 软件包安装程序升级pyzmq 而不是pip 时,这更新了/usr/bin/... 中的python 安装而不是Anaconda 版本。这解决了问题。

所以现在 SublimeREPL 正在工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2015-07-29
    • 1970-01-01
    • 2014-12-06
    • 2014-06-29
    • 2015-12-17
    • 2014-05-20
    相关资源
    最近更新 更多