相关疑难解决方法(0)

ImportError:没有名为Foundation的模块

我试图按照"使用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 xcode pyobjc osx-snow-leopard

22
推荐指数
3
解决办法
3万
查看次数

ImportError:没有在pyttsx中命名为'driver'的模块

我试图在Python 3.5.2pyttsx库中运行语音程序.但我遇到了很多问题.第一个是发动机.当我运行命令时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)

python text-to-speech python-3.x pyttsx

12
推荐指数
1
解决办法
7707
查看次数

import pyttsx在python 2.7中工作,但不在python3中

问题:导入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 python-3.x raspberry-pi

6
推荐指数
2
解决办法
1万
查看次数

BadPrototypeError:Objective-C需要1个参数,Python参数有2个参数

我正在使用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)

有关如何解决此问题的任何想法?谢谢.

python pyttsx

6
推荐指数
0
解决办法
1708
查看次数