Как скомпилировать файл Python с Cython для EXE в Windows - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу скомпилировать HelloWorld в Python с использованием Cython, используя mingw-w64.Я мог бы создать HelloWorld.c, используя эту команду:

cython --embed -o HelloWorld.c HelloWorld.py

Но тогда я смогу сгенерировать HelloWorld.exe

Я использую следующую команду:

gcc -Os -I C:\Users\user\AppData\Local\Programs\Python\Python36\include -o HelloWorld HelloWorld.c

И я получаю следующую ошибку:

C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status

Я проверил, нет ли "wmain", как предлагают некоторые потоки ( Скомпилируйте основную программу Python с использованием Cython )

Python версия: 3.6
Windows 10
C Компилятор: MinGW-w64

HelloWorld.py

def main():
    print("Hello world!")

if __name__== "__main__":
  main()

1 Ответ

0 голосов
/ 27 сентября 2019

Использование pyinstaller с расширением .pyd - одно из самых простых решений, которое вы можете получить.Тем не менее, я не уверен, можете ли вы использовать --embed или нет, так как может потребоваться .spec или .pyd, я думаю.

...