Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to recompile the bootloader of Pyinstaller

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:

  1. try to install C++ build-tools with choco using "choco install -y vcbuildtools" for some reasons the installation failed.
  2. installing visual studio community from here then goes to "cd bootloader" and do python ./waf distclean all got the error can't open file './waf': [Errno 2] No such file or directory
  3. 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 vsbuildtoolsbut i got this message : No matching distribution found for vcbuildtools any ideas ?

Im on Windows 7 x64

like image 809
infantry Avatar asked Dec 02 '18 20:12

infantry


3 Answers

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/

like image 170
clearclarencs Avatar answered Nov 07 '22 01:11

clearclarencs


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!

like image 14
AbdurRehman Khan Avatar answered Nov 07 '22 00:11

AbdurRehman Khan


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).

GitHub - Bootloader Issue

PyInstaller GitHub

like image 1
purple Avatar answered Nov 07 '22 01:11

purple