Repository: conan-io/conan

Issue:
Windows installer linter warnings
To help us debug your issue please explain:

- [x] I've read the [CONTRIBUTING guide](https://raw.githubusercontent.com/conan-io/conan/develop/.github/CONTRIBUTING.md).
- [x] I've specified the Conan version, operating system version and any tool that can be relevant.
- [x] I've explained the steps to reproduce the error or the motivation/use case of the question/suggestion.

Originally reported as part of #2511, still under investigation the Android issues.
Windows Conan installer 1.0.4.

```bash
 git clone -b release/1.66.0 https://github.com/lasote/conan-boost
 conan export . user/channel
````


**Result**
```                                                     
Linter warnings                                                                       
   WARN: Linter. Line 1: Unable to import 'conans'                                   
   WARN: Linter. Line 2: Unable to import 'conans'                                   
   WARN: Linter. Line 3: Unable to import 'os'                                       
   WARN: Linter. Line 42: Instance of 'tuple' has no 'compiler' member               
   WARN: Linter. Line 43: Instance of 'dict' has no 'remove' member                  
   WARN: Linter. Line 47: Instance of 'dict' has no 'without_iostreams' member       
   WARN: Linter. Line 47: Instance of 'dict' has no 'header_only' member             
   WARN: Linter. Line 58: Instance of 'dict' has no 'header_only' member             
   WARN: Linter. Line 73: Instance of 'dict' has no 'header_only' member             
   WARN: Linter. Line 90: Instance of 'tuple' has no 'compiler' member               
   WARN: Linter. Line 104: Instance of 'tuple' has no 'arch' member                  
   WARN: Linter. Line 106: Instance of 'tuple' has no 'arch' member                  
   WARN: Linter. Line 109: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 112: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 112: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 113: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 115: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 115: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 118: Instance of 'dict' has no 'shared' member                 
   WARN: Linter. Line 119: Instance of 'tuple' has no 'build_type' member            
   WARN: Linter. Line 128: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 129: Instance of 'dict' has no 'fPIC' member                   
   WARN: Linter. Line 133: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 135: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 137: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 139: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 140: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 156: Instance of 'tuple' has no 'get_safe' member              
   WARN: Linter. Line 160: Instance of 'tuple' has no 'arch' member                  
   WARN: Linter. Line 162: Instance of 'tuple' has no 'get_safe' member              
   WARN: Linter. Line 183: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 186: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 202: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 202: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 231: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 232: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 233: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 234: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 247: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 250: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 252: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 259: Instance of 'tuple' has no 'os' member                    
   WARN: Linter. Line 259: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 260: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 263: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 264: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 271: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 272: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 272: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 291: Instance of 'dict' has no 'shared' member                 
   WARN: Linter. Line 311: Instance of 'tuple' has no 'compiler' member              
   WARN: Linter. Line 350: Instance of 'dict' has no 'without_test' member           
   WARN: Linter. Line 356: Instance of 'dict' has no 'header_only' member            
   WARN: Linter. Line 356: Instance of 'dict' has no 'shared' member                 
   WARN: Linter. Line 361: Instance of 'dict' has no 'header_only' member            
   WARN: Linter. Line 362: Instance of 'dict' has no 'without_python' member         
   WARN: Linter. Line 363: Instance of 'dict' has no 'shared' member                 
   WARN: Linter. Line 366: Instance of 'tuple' has no 'compiler' member              
```


Discussion:
Yes, I have been able to reproduce this, and I have been investigating.

It seems one of those annoying issues of using the pyinstaller version. As everything is dynamic, pylint doesn't know how to find the python modules. Absolutely no idea how to solve this yet.

Resolving patch:
diff --git a/conans/client/cmd/export_linter.py b/conans/client/cmd/export_linter.py
--- a/conans/client/cmd/export_linter.py
+++ b/conans/client/cmd/export_linter.py
@@ -12,6 +12,9 @@
 
 
 def conan_linter(conanfile_path, out):
+    if getattr(sys, 'frozen', False):
+        out.info("No linter available. Use a pip installed conan for recipe linting")
+        return
     apply_lint = os.environ.get("CONAN_RECIPE_LINTER", True)
     if not apply_lint or apply_lint == "False":
         return


Test patch: