【问题标题】:Simple Python Statement Fails Every Other time简单的 Python 语句每隔一段时间就会失败
【发布时间】:2017-12-14 21:14:31
【问题描述】:

我正在使用 libais,这是一个非常简单的库来处理海洋 AIS 消息。我已经使用了很多,我确定我的代码没问题。使用 REPL:

import ais
msg = '177KQJ5000G?tO`K>RA1wUbN0TKH'   # a valid AIS encoded string
ais.decode(msg)  # this will succeed
ais.decode(msg)  # this will fail
ais.decode(msg)  # this will succeed
ais.decode(msg)  # this will fail, etc

失败的意思是我会得到错误: TypeError:函数只需要 2 个参数(给定 1 个)

这是一种奇怪的行为,我认为这与我的环境有关。我认为这在我安装(然后删除)Anaconda 之后就开始发生了。我的平台是RHEL7。我已经删除并重新安装了 libais。没有重建这个服务器,我不知道还能做什么。关于如何解决“每隔一段时间有效”错误的任何想法?

【问题讨论】:

  • 异常的完整回溯是什么?
  • @MartijnPieters:我可以在 Python 2.7 中重现该错误,而这实际上 是 唯一的输出。没有回溯(我认为他们正在包装一个 c++ 库。)如果我们使用正确的签名,一切似乎都可以在 2 和 3 中工作。
  • 你在什么上下文中调用它? Python 2 还是 3?不管它值多少钱,我都无法在 Py2 中重现它。
  • @MartijnPieters:我meant what I said。 ;-)
  • @DSM:哇。那是一个乱七八糟的图书馆。它很可能直接打印消息。我现在假设试图抓住TypeError 甚至都行不通?

标签: python ais


【解决方案1】:

谢谢各位。我认为这“已解决”,所以当我最初认为这是一个损坏的 python 安装时,我接受了库应该受到责备的答案。我没有使用(据称是可选的)第二个参数。我现在,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 2012-03-02
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2012-08-10
    • 1970-01-01
    相关资源
    最近更新 更多