python - Swift REPL 抛出 python 错误?

标签 python xcode swift read-eval-print-loop

当我尝试使用 swiftxcrun swift 运行 swift REPL 时,我收到以下 Python 错误:

Hristos-MacBook-Pro:~ Hristo$ swift

Fatal Python error: PyThreadState_Get: no current thread

Abort trap: 6

看起来 Swift 的 REPL 是用 Python 编写的。我最近安装了 pip,它可能损坏了某些东西。我正在使用 Xcode 6.1 (A1052d) 和 OS X Yosemite。可能是什么情况?

Trying to run <code>swift</code>

最佳答案

我刚遇到同样的问题。上面的答案给了我一个非侵入性解决方案的提示(在我的例子中,我在路径的开头有 fink 的 python)

% PATH=/usr/bin:$PATH
% swift

此解决方案基于以下观察结果。 Fink(我假设 Macports 和可能的其他第三方 python 提供商)将它们的 bin 目录放在路径的开头。这可以通过在命令行中调用 python 来查看:

% which python
/sw/bin/python

这是我遇到的问题,导致我寻找解决方案:

% swift
Fatal Python error: PyThreadState_Get: no current thread
[1]    19219 abort      swift

通过在 shell 级别更改 $PATH 变量,可以在不更改 future shell session 的默认条件的情况下避免该问题:

% PATH=/usr/bin:$PATH
% which python
/usr/bin/python

现在可以了:

% swift
Welcome to Swift!  Type :help for assistance.
   1>

一个更永久的解决方案(除了永久更改 $PATH 变量元素的顺序之外)可能是在一个人的 shell 点文件中包含以下别名(或等效函数):

alias swift="PATH=/usr/bin:$PATH swift"

关于python - Swift REPL 抛出 python 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203896/

相关文章:

python - 如何在中心绘制子图并使颜色条与其中一个子图的长度相同?

iphone - 启动屏幕上的图像不会出现在设备上

swift - 访问全局函数内的环境变量 - SwiftUI + CoreData

ios - 登录详细信息未保存在 Xcode 9.4 的 UIWebView 中?

swift - 在 swift 2.3 中使用 "parameters.dataUsingEncoding(NSUTF8StringEncoding)"编码时如何避免 + 号被空格替换

python - TensorFlow 的 Print 不打印

python - Python中双重递归的结果

python - Linkedin 身份验证提供无效的 redirect_uri

xcode - 我在 xcode 的 viewcontroller.swift 中的一个按钮中编码 - 如何让它显示在 Storyboard 中?

swift - 原子引用计数和自动引用计数有什么区别?