AmadeusITGroup/JumpSSH

Troublesome 'package.json' access at runtime in frozen applications

malversoft opened this issue · 3 comments

When using a Python frozen module (for example building an executable with PyInstaller), by default the builder only includes the Python bytecodes. So only that bytecodes are available when the module is imported at runtime.

But the JumpSSH package unconditionally reads the package.json file at runtime, just to get the package version.

For this reason JumpSSH can never be used as-is in a frozen Python executable. It requires to dive into the frozen applications builder and create specific hooks to include all JumpSSH files.

It would be a great help if the package simply specifies the version value in the code, so no data files are needed at runtime:
__version__ = "1.6.4"

Thanks in advance. And thanks for your good work.

t-cas commented

Hi @malversoft,

I fully agree with you, this design has been done few years ago and I think having version in python file would save some issues like yours.

Was banging my head against a wall for two days on this one.

Great app, please let me when you resolve. In the meantime is there any manual workarounds?

t-cas commented

delivered in #167 and is part of jumpssh release 1.6.5