pexports python27.dll › python27.def (пакет pygraphviz 1.1)

У меня есть mingw и python 2.7 в окне Windows 7, и я пытаюсь установить PyGraphViz-1.1 с помощью следующей утилиты CLI.

python setup.py install build --compiler=mingw32

Однако это приводит к ошибке компиляции с неопределенными ссылками следующим образом:

...
build\temp.win-amd64-2.7\Release\pygraphviz\graphviz_wrap.o:graphviz_wrap.c:(.text+0x5a73): undefined reference to '_imp__PyInt_FromLong' 
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Я проверил ссылку (см. здесь), в котором предлагается экспортировать определения из C:\Windows\System32\python27.dll в python27.def, а затем использовать dlltool для создания libpython27.a и, наконец, поместить файл libpython.a в папку C:\Python27. \libs дистрибутива Python для MinGW для интерпретации библиотек Python.

У меня есть C:\MinGW\bin, добавленный к моему системному пути, и я пытаюсь выполнить экспорт, используя

pexports C:\Windows\System32\python27.dll > C:\Windows\System32\python27.def

но каждый раз, когда я получаю сообщение об отказе в доступе.

Я немного поискал и обнаружил, что пользователи MS Visual Studio могут использовать другой вариант экспорта с помощью DUMPBIN, но, поскольку у меня не установлен MSVS, я хотел бы получить какую-то альтернативу, чтобы избавиться от проблемы, и мне нужно использовать пакет PyGraphViz-1.1. . Любые предложения будут очень полезны


person somnathchakrabarti    schedule 09.01.2013    source источник
comment
Если вы не работаете в качестве администратора, запись в защищенный файл или каталог через командную строку не удастся. Либо запишите файл .def во временный каталог и переместите его с правами администратора, либо запустите командную строку от имени администратора.   -  person    schedule 09.01.2013
comment
Мне удалось экспортировать определения в python27.def, используя незащищенную папку под моей учетной записью. Спасибо за ваши комментарии. Я думал, что проблема связана с чтением файла .dll, а не с записью в файл .def. Во всяком случае, это было довольно просто!   -  person somnathchakrabarti    schedule 09.01.2013