py -m pip install cython
py -m cython main.py --embed
此處若是不加 --embed ,gcc編譯時會出現 undefined reference to `wWinMain@16' 錯誤python
若是遇到這樣的提示windows
FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2).
在你的py代碼中加入(若是你自己用的就是python2能夠忽略)測試
# cython: language_level=3
#編譯爲控制檯應用,測試期最好使用這種方式,能夠知道爲啥報錯 gcc -o main.exe main.c -I E:\Soft\Python\3.6.8_32\include -L E:\Soft\Python\3.6.8_32\libs -lpython36 -municode #編譯爲window視窗程序(無黑框) gcc -o main.exe main.c -I E:\Soft\Python\3.6.8_32\include -L E:\Soft\Python\3.6.8_32\libs -lpython36 -municode -Wl,--subsystem,windows
編譯好的程序運行可能會遇到:spa
NameError: name '__file__' is not defined.net
這是由於 __file__ 只針對py文件存在,編譯以後是無效的,須要替換成:調試
os.getcwd() //運行目錄 sys.path[0] //執行文件所在目錄
至於dll丟失,路徑不對等問題,慢慢排查吧code
做者:Spooking
連接:https://www.jianshu.com/p/d2e82fd0f76d
ip