title: Is it possible to build a single binary for CLI python script? Like Go and Rust seems to do
body: <p>I love Python for everything that it is except the fact that I can't ship a single binary file of my project to someone and expect them to be able to run it.</p>
  
  <p>I'm not asking for a simple Python script case. Say, I have a python script that imports several modules (which were pip installed on my local system). I'd like to turn it into a single file or directory that I can ship to a remote server and just run it. No pip install blah should be needed there.</p>
  
  <p>Is it possible? </p>
  
  <p>EDIT1: I’m only concerned about distributing my script along with its dependancies to a remote x86_64 GNULinux server. Py2exe doesn’t help. I’m looking for its equivalent in the Linux world.</p>
  
  <p>I have used virtualenv to install all modules in the same directory, but don't know if there is a way to ship just that directory and expect it to "just work" without pip installs there.</p>
  
  <p>I'm at the verge of giving up on my years of Python practice and switching to a different language like Nim or Go just for this reason.</p>