无法通过Python在Mac OSX上将Skype4Py附加到Skype

1 投票
2 回答
1437 浏览
提问于 2025-04-17 14:48

我在使用Mac OSX(10.8.2),想通过Python用Skype4py连接到我正在运行的Skype。

我遇到的问题是,我按照网站上的说明(http://pypi.python.org/pypi/Skype4Py/1.0.34#segfaults)正确安装了Skype4Py,使用了arch -i386 pip install Skype4Py这个命令。按照说明,我把代码编辑器的运行代码设置成用arch -i386 python来运行,而不是通常的python(我也尝试过直接从终端用这两种方式运行文件)。

我的代码现在非常简单(我打算在连接成功后再继续完善),代码如下:

import Skype4Py
skype = Skype4Py.Skype()
skype.Attach()

这段代码让我弹出了一个错误窗口,提示Python必须关闭,同时出现了以下错误信息:Run Command: line 1: 66888 Segmentation fault: 11 arch -i386 python "$1" "${@:3}"

在论坛上搜索了一下,我发现有几个帖子一致推荐了以下代码修改作为解决方案:

import Skype4Py
skype = Skype4Py.Skype(Transport='x11')
skype.Attach()

不幸的是,这个修复只是改变了我的错误类型。新的错误信息更复杂:

Traceback (most recent call last):
  File "skypeAttach.py", line 4, in <module>
    skype = Skype4Py.Skype(Transport='x11')
  File "build/bdist.macosx-10.8-intel/egg/Skype4Py/skype.py", line 250, in __init__
  File "build/bdist.macosx-10.8-intel/egg/Skype4Py/api/darwin.py", line 296, in __init__
  File "build/bdist.macosx-10.8-intel/egg/Skype4Py/api/__init__.py", line 214, in finalize_opts
TypeError: Unexpected option(s): Transport

根据我有限的编程知识,这似乎是在告诉我“Transport”是一个意外的参数。

2 个回答

1

我最后使用了一个脚本来强制程序以32位模式运行:

#!/bin/bash
arch -i386 /usr/bin/python ./sendMessage.py
1

来自Skype4Py的PyPI页面:

它可以在Windows、OSX和Linux这些操作系统上运行,前提是使用Python 2.x版本。

它不支持Python 3.3版本。建议你用Python 2.7来安装它。

撰写回答