SuperZombi
@SuperZombi

Как скомпилировать Python в exe без Pyinstaller?

Добрый день. После компиляции через Pyinstaller файл распознается как троян (хотя это не так). Прочитал этот пост. Попробовал сделать.
Проблема 1 (решено)

Но на моменте где нужно .c файл сконвертировать в .o ничего не получилось. Пишет:
gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python3.3m -c MyScript.c -o MyScript.o
DNS-сервер не является полномочным для этой зоны.

Решение этого вопроса: Добавьте путь к gcc в Переменные серды Windows.


Проблема 2 (решено)

Upd:
Скачал gcc. Теперь пишет следующую ошибку:
MyScript.c:4:10: fatal error: Python.h: No such file or directory
 #include "Python.h"
          ^~~~~~~~~~
compilation terminated.

Решение этого вопроса: Добавьте -DMS_WIN64 в ваш запрос, чтобы он вышлядел так:
gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -IC:\Users\YOURUSERNAME\AppData\Local\Programs\Python\Python38-32\include -DMS_WIN64 -c YOURFILE.c -o YOURFILE.o


Upd2:
Проблема: после компиляции в .o файл пытаюсь конвертировать в .pyd.
Пишу запрос:
gcc Myfile.o -o Myfile.pyd
Ошибка:
undefined reference to `__imp_PyModuleDef_Init'
c:/users/USERNAME/gcc/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x2e): undefined reference to `WinMain'
collect2.exe: error: ld returned 1 exit status

В приложении использую tkinter. В .c не шарю. он создался сам (Cython создал его).

Помогите пожалуйста. Заранее спасибо!
  • Вопрос задан
  • 1755 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Cython - это для тех, кто хорошо умеет программировать как на Python, так и на C. Попробуйте применить Nuitka, она проще.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы