首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速REPL抛出python错误?

快速REPL抛出python错误?
EN

Stack Overflow用户
提问于 2014-11-29 15:32:39
回答 2查看 511关注 0票数 2

当我尝试使用swiftxcrun swift运行快速REPL时,会得到以下Python:

Hristos-MacBook:~Hristo斯威夫特 致命Python错误: PyThreadState_Get:没有当前线程 中止陷阱:6

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-29 20:58:00

我更改了active python版本(以前通过macport安装python2.7),它起了作用:

代码语言:javascript
复制
sudo port select python python33
票数 2
EN

Stack Overflow用户

发布于 2015-03-19 05:16:49

我只是遇到了同样的问题。上面的答案给了我一个非侵入性解决方案的提示(在我的例子中,芬克的蟒蛇在路径的顶端)。

代码语言:javascript
复制
% PATH=/usr/bin:$PATH
% swift

本解决方案基于以下观察结果。Fink (我猜Macports和其他第三方python提供程序)将他们的bin目录放在路径的首位。通过在命令行调用python可以看出这一点:

代码语言:javascript
复制
% which python
/sw/bin/python

在这里,我遇到了一个问题,导致我寻找解决方案:

代码语言:javascript
复制
% swift
Fatal Python error: PyThreadState_Get: no current thread
[1]    19219 abort      swift

通过在shell级别更改$PATH变量,在不更改未来shell会话的默认条件的情况下可以避免此问题:

代码语言:javascript
复制
% PATH=/usr/bin:$PATH
% which python
/usr/bin/python

所以现在它起作用了:

代码语言:javascript
复制
% swift
Welcome to Swift!  Type :help for assistance.
   1>

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

代码语言:javascript
复制
alias swift="PATH=/usr/bin:$PATH swift"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27203896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档