Nie jestem typem użytkownika Windows, ale muszę zbudować exe z mojego kodu Pythona, więc chciałbym użyć py2exe aby to zrobić. Mam system XP, w którym zainstalowałem Pythona 2.6.6. Pobrałem źródło py2exe-0.6.9, ale gdy próbowałem zainstalować (przez "python setup.py install"), pojawił się błąd "Nie można znaleźć vcvarsall.bat". Przeszukałem go i natknąłem się na this post, gdzie respondent zasugerował zainstalowanie dostosowanej wersji plików binarnych GCC MinGW dostępnych here. Zrobiłem to, a teraz, kiedy próbuję zainstalować py2exe, otrzymuję nowy błąd. Oto wynik:Jak mogę zbudować py2exe bez błędów?
C:\Documents and Settings\Administrator\Desktop\py2exe-0.6.9>python setup.py install
C:\Documents and Settings\Administrator\Desktop\py2exe-0.6.9\py2exe\build_exe.py:16: DeprecationWarning: the sets module is deprecated
import sets
running install
running build
running build_py
running build_ext
building '_memimporter' extension
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\source
c:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DPYTHONDLL=\"PYTHON26.DLL\" -DPYTHONCOM=\"pythoncom26.dll\" -IC:\Python26\include -IC:\Python26\PC -c source/MemoryModule.c -o build\temp.win32-2.6\Release\source\memorymodule.o
source/MemoryModule.c:30: warning: ignoring #pragma warning
source/MemoryModule.c: In function 'BuildImportTable':
source/MemoryModule.c:364: warning: pointer targets in passing argument 1 of 'MyLoadLibrary' differ in signedness
source/MemoryModule.c: In function 'GetNameTable':
source/MemoryModule.c:610: warning: passing argument 4 of 'qsort' from incompatible pointer type
source/MemoryModule.c: In function 'MemoryGetProcAddress':
source/MemoryModule.c:637: warning: passing argument 5 of 'bsearch' from incompatible pointer type
c:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DPYTHONDLL=\"PYTHON26.DLL\" -DPYTHONCOM=\"pythoncom26.dll\" -IC:\Python26\include -IC:\Python26\PC -c source/_memimporter_module.c -o build\temp.win32-2.6\Release\source\_memimporter_module.o
In file included from source/_memimporter.c:8,
from source/_memimporter_module.c:2:
source/Python-version.h:13: error: redefinition of typedef 'Py_ssize_t'
C:\Python26\include/pyport.h:115: error: previous declaration of 'Py_ssize_t' was here
error: command 'gcc' failed with exit status 1
Czy naprawdę potrzebujesz go skompilować? Istnieją pliki binarne wygrywające? – JustFogMaxi
* smacks head * Wyraźnie nie wyglądałem wystarczająco mocno na stronie sourceforge. Po prostu kliknąłem link "Szukam najnowszej wersji? Pobierz py2exe-0.6.9.zip (149.7 KB)", nie zdając sobie sprawy, że gdybym zbadał inne pliki do pobrania, byłby to plik binarny. Dzięki! Utrzymam to pytanie przy życiu, na wypadek, gdyby było ważne dla każdego, kto rozwiąże problem z budynkiem. –
Czy Twój kod jest pytonem? jeśli tak, powinieneś być w stanie skompilować go do exe bez c-compillera. Będzie zawierał wszystkie biblioteki DLL (z wyjątkiem tych z systemem operacyjnym). O vcvarsall.bat: jest to plik nietoperza konfiguracyjnego z Visual Studio. Pobierz ekspresową (darmową) edycję i powinieneś mieć się dobrze. Ten plik bat ustawił wszystkie zmienne środowiskowe, takie jak pathes, binaries, katalogi potrzebne wraz z rozwojem. Życzę dobrej rozdzielczości – Pavlonator