【发布时间】:2016-08-18 15:56:43
【问题描述】:
MinGW-w64 项目 (https://sourceforge.net/p/mingw-w64/discussion/723798/thread/4a8a9ed5/?limit=25) 的 gdborig.exe 中的嵌入式 python 解释器存在问题。
模块 itertools 和其他几个模块的导入失败。但是使用分布式独立 python 解释器,相应的导入工作正常:
>>> import sys
>>> print sys.version
2.7.9 (default, Jul 11 2016, 16:32:13)
[GCC 6.1.0]
>>> print sys.executable
C:/AUEMARK/Programme/MinGW64/mingw64/opt/bin/python.exe
>>> import itertools
>>> itertools
<module 'itertools' from 'C:\AUEMARK\Programme\MinGW64\mingw64\opt\libpython2.7\lib-dynload/itertools.pyd'>
使用嵌入式 python 解释器:
(gdb) python import sys
(gdb) python print sys.version
2.7.9 (default, Jul 11 2016, 16:32:13)
[GCC 6.1.0]
(gdb) python print sys.executable
C:/AUEMARK/Programme/MinGW64/mingw64/opt/bin/python.exe
(gdb) python import itertools
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named itertools
Error while executing Python code.
可以:
- 导入系统
- 导入操作系统
不能:
- 导入迭代工具
- 导入集合
- ...
导入集合的错误消息
(gdb) python import collections
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\AUEMARK\Programme\MinW64\mingw64\opt\lib\python2.7/collections.py", line 8, in <module>
from _collections import deque, defaultdict
Importerror: no module named _collections
Error while executing Python code.
所以看起来嵌入式解释器无法在C中导入模块。Python模块被导入,C模块的Python部分也可以被嵌入式解释器访问。
感谢任何提示,我该如何解决这个问题。
马库斯
【问题讨论】:
标签: python-2.7 gdb windows-7-x64 mingw-w64