无法通过Python在Mac OSX上将Skype4Py附加到Skype
我在使用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来安装它。