我试图按照"使用Xcode 3.2进行PyObjC开发"的接受答案的说明.我会在这里重新发布它们,因为我没有足够的代表对实际问题发表评论:
以下是我为使PyObjC在Snow Leopard中工作所做的工作:
使用Finder,我作为访客Go > Connect to Server...访问了http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/.
然后Xcode,我在我的本地系统上创建了一个文件夹~Library/Application Support/Developer/Shared/Xcode/.(你可能已经有了这个文件夹,但我还没有为自己定制任何东西).
我将File Templates文件夹从红豆服务器复制到我的新Xcode文件夹中.
将Project Templates文件夹复制到其他位置,例如桌面.
使用终端,导航到我桌面上的临时项目模板文件夹并运行此命令以"构建"模板:
$ cd~/Desktop/Project\Templates /
$ ./project-tool.py -k -v --template~/Desktop/Project\Templates/Cocoa-Python\Application/CocoaApp.xcodeproj/TemplateInfo.plist Cocoa-Python\Application~/Library/Application\Support/Developer/Shared/Xcode/Project\Templates/Cocoa-Python\Application
当我尝试运行以开头的行时./project-tool.py,我在终端中收到以下错误:
Traceback (most recent call last):
File "./project-tool.py", line 22, in <module>
from Foundation import NSDictionary
ImportError: No module named Foundation
Run Code Online (Sandbox Code Playgroud)
我正在运行Snow Leopard并已安装Xcode 3.2.1,并已阅读此模块应已安装并正常工作.我已经读过你可以通过>>> import objc在Python命令行中运行来测试PyObjC模块是否正常工作.当我运行这个时,我得到:
>>> import objc
Traceback (most recent call last):
File "<stdin>", line 1, in …Run Code Online (Sandbox Code Playgroud) 我试图在Python 3.5.2和pyttsx库中运行语音程序.但我遇到了很多问题.第一个是发动机.当我运行命令时import pyttsx,编译器给出了如下错误:
ImportError: No module named 'engine'
Run Code Online (Sandbox Code Playgroud)
然后我找到了这个答案.但它也没有用.最后,我现在有另一个 - 类似 - 如下所示的错误:
D:\Users\orcuny\Desktop\AVA>python ava.py
Traceback (most recent call last):
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\__init__.py", line 37, in init
eng = _activeEngines[driverName]
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\weakref.py", line 131, in __getitem__
o = self.data[key]()
KeyError: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "ava.py", line 3, in <module>
engine = pyttsx.init()
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\__init__.py", line 39, in init
eng = Engine(driverName, …Run Code Online (Sandbox Code Playgroud) 问题:导入pyttsx时为什么python3无法找到引擎模块?
细节:
我在Raspbian Wheezy的树莓派上做这个
在python 2.7下,以下工作:
>>> import pyttsx
Run Code Online (Sandbox Code Playgroud)
在python3下,会发生以下情况:
>>> import pyttsx
Traceback (etc...)
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg/pyttsx/__init__.py", line 18, in <module>
ImportError: No module named engine
Run Code Online (Sandbox Code Playgroud)
我安装并使用了sudo pip install pyttsx
我已经导入了sys
sys.path包含这个......
>>> print (sys.path)
['','/usr/local/lib/python3.2/dist-packages/setuptools-5.4.1-py3.2.egg', '/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg', '/usr/lib/python3.2','usr/lib/python3.2/plat-linux2', '/usr/lib/python3.2/lib-dynload','/usr/local/lib/python3.2/dist-packages','/usr/lib/python3/dist-packages']
Run Code Online (Sandbox Code Playgroud)
ls /usr/local/lib/python3.2/dist-packages导致...
easy-install.pth pyttsx-1.1-py3.2.egg setuptools-5.4.1-py3.2.egg setuptools.pth
Run Code Online (Sandbox Code Playgroud)
unzip -t /usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg显示....
pyttsx/__init__.py OK
pyttsx/voice.py OK
pyttsx/engine.py OK
(etc...)
No errors detected in compressed data of pyttsx-1.1-py3.2.egg
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我正在使用python模块pyttsx进行文本到语音,当我运行代码时,我收到此错误:
File "Practice_File.py", line 2, in <module>
engine = pyttsx.init()
File "/Library/Python/2.7/site-packages/pyttsx/__init__.py",
line 39, in init
eng = Engine(driverName, debug)
File "/Library/Python/2.7/site-packages/pyttsx/engine.py", line
45, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName,
debug)
File "/Library/Python/2.7/site-packages/pyttsx/driver.py", line
64, in __init__
self._module = __import__(name, globals(), locals(), [driverName])
File "/Library/Python/2.7/site-packages/pyttsx/drivers
/nsss.py", line 26, in <module>
class NSSpeechDriver(NSObject):
objc.BadPrototypeError: Objective-C expects 1 arguments, Python
argument has 2 arguments for <unbound selector initWithProxy of
NSSpeechDriver at 0x107592e68>
Run Code Online (Sandbox Code Playgroud)
这是我的python代码:
import pyttsx
engine = pyttsx.init()
engine.say('Good morning.')
engine.runAndWait()
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何想法?谢谢.