2016-08-18 9 views
2

У меня проблемы со встроенным интерпретатором python в gdborig.exe проекта MinGW-w64 (https://sourceforge.net/p/mingw-w64/discussion/723798/thread/4a8a9ed5/?limit=25).Встроенный интерпретатор python не может импортировать c-модули

Импорт модуля itertools и нескольких других сбоев. Но с распределенным интерпретатора питона соответствующие импорта работают отлично:

>>> 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'> 

С встроенным питона переводчика:

(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. 

Может:

  • импорт SYS
  • импорт ОС

не может:

  • Импорт itertools
  • импорта коллекции
  • ...

Сообщение об ошибке для импорта коллекций

(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 могут быть также доступ через встроенный интерпретатор.

Спасибо за любой намек, как я могу решить эту проблему.

Markus

ответ

0

Я думаю, что эта проблема существует, так как файл itertools.pyd не был найден. я должен был установить переменную окружения:

PYTHONPATH=C:\msys64\mingw64\lib\python2.7;C:\msys64\mingw64\lib\python2.7\lib-dynload; 

В вашем случае убедитесь, что вы установили:

PYTHONPATH=C:/AUEMARK/Programme/MinGW64/mingw64/opt/lib/python2.7;C:\AUEMARK\Programme\MinW64\mingw64\lib\python2.7\lib-dynload 

Мой PYTHONHOME переменная указывает на интерпретатор Python:

PYTHONHOME=C:\msys64\mingw64\bin\pyhon.exe 

я построил свой собственный GDB под msys2 и работает:

Microsoft Windows [Version 10.0.16299.19] 
(c) 2017 Microsoft Corporation. All rights reserved. 

C:\Users\tiit>C:\msys64\home\tiit\gdb-7.11-bin\bin\x86_64-linux-gnu-gdb.exe 
GNU gdb (GDB) 7.11.1.20160801-git 
Copyright (C) 2016 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "--host=x86_64-w64-mingw32 --target=x86_64-linux-gnu". 
Type "show configuration" for configuration details. 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>. 
Find the GDB manual and other documentation resources online at: 
<http://www.gnu.org/software/gdb/documentation/>. 
For help, type "help". 
Type "apropos word" to search for commands related to "word". 
(gdb) 

Без настройки правильных переменных окружения у меня была такая же проблема.

 Смежные вопросы

  • Нет связанных вопросов^_^