嗨,大家好,我在使用Python和Naoqi for Pepper机器人时遇到了问题。我已经为NaoqiSDK设定了正确的道路,当我跑步时,进口naoqi"我收到这个错误:
>>> import naoqi
Traceback (most recent call last):
File"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
main()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 520, in get_config_var
return get_config_vars().get(name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 453, in get_config_vars
import re
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 108, in <module>
import _locale
SystemError: dynamic module not initialized properly
有没有人对此有所了解,如何解决?
我将不胜感激任何帮助。谢谢
P.S。我在OSX上运行它
答案 0 :(得分:5)
与运行任何NAOqi二进制文件类似,您可能需要运行Python解释器并正确设置DYLD_LIBRARY_PATH和DYLD_FRAMEWORK_PATH:
DYLD_LIBRARY_PATH=<installation_directory>/lib DYLD_FRAMEWORK_PATH=<installation_directory> PYTHONPATH=<installation_directory>/lib/python2.7/site-packages python
答案 1 :(得分:1)
所以,我在import qi
尝试pynaoqi-python2.7-2.5.5.5-mac64
时遇到了一个非常类似的问题。
这是终端日志:
>>> import qi
Traceback (most recent call last):
File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
main()
File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 520, in get_config_var
return get_config_vars().get(name)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 453, in get_config_vars
import re
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 108, in <module>
import _locale
SystemError: dynamic module not initialized properly
我进行了两次修改,使得qi的输入有效,但是我不确定两者是否都是必要的:
运行命令csrutil status
已返回:System Integrity Protection status: enabled
。我禁用它重新启动计算机并在恢复模式的终端中运行一些命令,然后重新启动计算机。
从这篇文章开头的日志中可以看出,我在Traceback的路径中有一个名为/Cellar/
的文件夹,它来自Homebrew。碰巧的是,我没有在我的计算机上使用默认的python(运行which python
确认它)而是使用Homebrew的。
答案 2 :(得分:0)
您必须使用直接从https://www.python.org/downloads/release/python-2710/
下载的python2.7.10仅使用其他2.7.10。* python版本是不够的