Comment by commandersaki

2 months ago

One thing I hate about Python executables, at least the ones I've seen installed in Debian/Ubuntu is that the ones in /usr/bin are wrappers to execute somewhere in your site-packages.

I just want to see the full script where I execute it.

Can you show an example of that?

  • Good thing you asked before I destroyed this ubuntu instance I was messing with:

        root@t:~# cat $(which scapy)
        ++ which scapy
        + cat /usr/bin/scapy
        #!/usr/bin/python3
        # EASY-INSTALL-ENTRY-SCRIPT: 'scapy==2.5.0','console_scripts','scapy'
        import re
        import sys
        
        # for compatibility with easy_install; see #2198
        __requires__ = 'scapy==2.5.0'
        
        try:
            from importlib.metadata import distribution
        except ImportError:
            try:
                from importlib_metadata import distribution
            except ImportError:
                from pkg_resources import load_entry_point
        
        
        def importlib_load_entry_point(spec, group, name):
            dist_name, _, _ = spec.partition('==')
            matches = (
                entry_point
                for entry_point in distribution(dist_name).entry_points
                if entry_point.group == group and entry_point.name == name
            )
            return next(matches).load()
        
        
        globals().setdefault('load_entry_point', importlib_load_entry_point)
        
        
        if __name__ == '__main__':
            sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
            sys.exit(load_entry_point('scapy==2.5.0', 'console_scripts', 'scapy')())