ImportError: нет модуля с именем _tkinter - PullRequest
1 голос
/ 12 декабря 2011

Я хочу использовать python в коде c ++, но он получил ошибку, это самая простая программа "hello word".

Это нормально для импорта PIL.Image, но для Tkinter он выдаст «ImportError: Нет модуля с именем _tkinter». Я распечатал sys.path, но понятия не имел.

Следующий снимок показывает подробную информацию: http://i.minus.com/iWoCUlidmq5M3.jpg

ENV: Visual Studio 2010. Python 2.7.2, 32 бита.

Я новый пользователь, поэтому я не могу загрузить изображение. :(

Эта проблема стоила мне нескольких дней, надеюсь, кто-нибудь может дать мне несколько советов, большое спасибо.

вот другая информация:

исходный код:

int _tmain(int argc, _TCHAR* argv[])
{

    Py_Initialize();
    if(!Py_IsInitialized())
        cout<< "init failed"<<endl;
    PyRun_SimpleString ("import sys, struct, zlib ");
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\DLLs')");
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\libs')");
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\Lib\\lib-tk')");
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\Lib\\idlelib')");
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\lib\\plat-win')");
//  PyRun_SimpleString ("print sys.path ");
    PyRun_SimpleString ("import PIL.Image, StringIO");

    PyRun_SimpleString ("import Tkinter");
}

информация об ошибке:

Traceback (most recent call last):

    File "<string>", line 1, in <module>
    File "C:\Python27\Lib\lib-tk\Tkinter.py", line 38, in <module>
        import FixTk
    File "C:\Python27\Lib\lib-tk\FixTk.py", line 65, in <module>
        import _tkinter
ImportError: No module named _tkinter

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Я решил эту проблему, потому что я использовал отладочный python_d.dll, он найдет файл pyd отладочной версии, поэтому он потерпел неудачу.

затем я изменяю python.dll на python_d.dll и удаляю программу отладки в pyconfig, это сработало.

0 голосов
/ 12 декабря 2011

Возможно, ваш exe-файл не может получить доступ к DLL (или PYD, которые одинаковы) в C: \ Python27 \ DLL.Вы должны добавить эту папку в путь Windows.Смотри https://stackoverflow.com/a/428217/117092

...