1) You append to sys.path
2, 3) See the various environment variables calibre uses, including controlling interface language and config directory
https://manual.calibre-ebook.com/cus...ment-variables
Note that binary builds of calibre from the python 3 betas onward always use UTF-8 regardless of environment variables.
For python 2 calibre things are more complicated, since there python's internal encoding selection mechanics are used.
4) Just create your own empyt config dir and tell calibre to use it via the env var above and then use calibre-customize -b to install your plugin into that config dir.