Вызов скрипта из командной строки не работает - PullRequest
3 голосов
/ 29 августа 2011

Мы создали DLL, используя cygwin, и для этого написали модуль на основе классов Python. Мы создали пример сценария для модуля Python на основе классов, который создает объект класса и вызывает различные методы в классе. Этот тестовый скрипт отлично работает, пока я запускаю его из IDLE. Однако, когда я запускаю его из командной строки, он либо зависает, либо просто возвращается без выполнения функций. Когда он возвращается, я не получаю трассировку ошибки.

Когда я попытался выяснить, где именно происходит проблема. проблема возникает, когда я пытаюсь вызвать метод cygwin_dll_init файла cygwin1.dll. Этот cygwin1.dll действительно является зависимостью от DLL, которую мы создали. Поэтому мы должны загрузить эту DLL и вызвать этот метод cygwin_dll_init перед загрузкой моей DLL.

cyg = cdll.LoadLibrary("cygwin1.dll")

cyg.cygwin_dll_init() #hangs or returns here

mydll=cdll.LoadLibrary("my.dll")
mydll.func1()

Я пытаюсь понять, в чем именно разница, когда мы называем это IDLE и когда мы вызываем его из командной строки с помощью команды python. Мне также нужно будет заставить скрипт работать из командной строки.

Спасибо, Sathish

...