how to recompile the bootloader of Pyinstaller
Solution 1
Hey you don't need visual studio to build pyinstaller's bootloader, you can do it in your terminal if you have python or python3 installed. It's important to know which one you are using. I will assume you use python3, try the following steps in your terminal/command line:
1) git clone https://github.com/pyinstaller/pyinstaller
2) cd pyinstaller, then cd bootloader
3) Run “python3 ./waf distclean all” to build the bootloader for your system.
4) Once the bootloader has been built, type in: “python3 setup.py install”
5) This should have installed pyinstaller. Type pyinstaller in the terminal and hit enter. It should recognize the command, but it will complain about more arguments.
6) Use the command "pyinstaller yourfile.py" to create your executable.
Hope this helped!
Solution 2
For anyone getting the error 'could not configure a C compiler!
Simply install a C compiler on your machine.
I installed Visual Studio with C++ compiler as was easier and more legitimate.
https://visualstudio.microsoft.com/vs/features/cplusplus/
Solution 3
The bootloader source is not installed if you are using pip install …
. You need to use a source package of PyInstaller (either a git clone or download an archive from github).
Related videos on Youtube
infantry
Updated on September 16, 2022Comments
-
infantry over 1 year
I have an AntiVirus false positive problem of my
exe
file generated using PyInstaller, by searching i found this answer witch consist of recompiling the bootloader and i just can't get it done. This what i've tried so far:- try to install C++ build-tools with choco using "choco install -y vcbuildtools" for some reasons the installation failed.
- installing visual studio community from here then goes to "cd bootloader" and do
python ./waf distclean all
got the errorcan't open file './waf': [Errno 2] No such file or directory
- installing MinGW-w64 and setting the path then retry, i got the same error.
Or maybe there is another way to make the executable not detected as virus/trojan.
Packages used : PyQt5, pysnmp, pandas, numpy.
EDIT: Thanks to @Ana Knickerbocker answer i was able to make a progression, now when i run
python ./waf all
i got the error :Python Version : 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] Checking for 'msvc' (C compiler) : not found Checking for 'gcc' (C compiler) : not found Checking for 'clang' (C compiler) : not found could not configure a C compiler!
I guess i still don't have a compiler, i've tried
pip install vsbuildtools
but i got this message :No matching distribution found for vcbuildtools
any ideas ?Im on Windows 7 x64
-
infantry over 5 yearsmy problem is when i do "python3 ./waf distclean all" i got this error :
python: can't open file './waf': [Errno 2] No such file or directory
-
AbdurRehman Khan over 5 yearsThen you must not be in the right directory, run pwd to look at where you are. It should be .../pyinstaller/bootloader
-
AbdurRehman Khan over 5 yearsAlso use ls to list all files, there should be a file named waf in the directory you're in...
-
griffinc over 4 yearsThis honestly worked for me. for step 3 make sure you're in the pyinstaller-3.5/bootloader directory to run "python ./waf distclean all" then for step 4 make sure you cd .. back to the pyinstaller-3.5 folder and run "python setup.py install" on the setup.py file. Worked perfect the first time.
-
thewaywewere about 4 yearsThe answer works for me too. The
python ./waf distclean all
command used the VS2019 complier in my pc to compile and build all therun*.exe
files under `~\pyInstaller-3.6\bootloader\Windows-64bit` directory. -
ErikusMaximus over 3 yearsIf you get error
task in 'run_d' failed with exit status 1169
, try moving your build dir to a shorter path. github.com/pyinstaller/pyinstaller/issues/4824 -
raw-bin hood over 3 yearsI did the
python3 ./waf distclean all
but there was no setup.py file available after that..... -
AbdurRehman Khan over 3 years@jonnyjandles you've gotta cd back to the root directory (pyinstaller probably) and use the setup.py file available there. Like griffinc's comment mentions.