-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python dependencies are missing in release binaries #7665
Comments
Due that we already have rust as a build dependencies, why not use the alternative rust plugin that @daywalker90 made for cln rest? IMHO this should be a good alternative, and we stop required python dependencies to just run vanilla cln |
pip install pyinstaller |
&& pip install -r requirements.txt \henry |
I also agree with @vincenzopalazzo packaging and dependency management in python seems like a mess a rust binary plugin just might be a great solution. From the provided options option 1 seems fair but bundling python interpreter won't that bind the interpreter selection instead of allowing user to choose which one he wants in his system a might just be an extra bloat for lean docker containers. option 2 & 3 utilize |
Quick idea to get the python-based plugins to behave a bit better again: I have been using A plugin with the shebang
Being invoked with So the management of dependencies is done at startup every time, and there is no drift. Only open question is whether we can make |
Currently, we are not packaging Python plugins (clnrest & wssproxy) dependencies with the release binaries. To resolve this, we can consider the following options:
Option 1: Use PyInstaller
Convert the plugin into a standalone executable using PyInstaller. This approach bundles the Python interpreter and all required libraries into a single folder or executable file, making distribution easier.
Option 2: Bundle Python Libraries with Binaries
Bundle
dist-packages
for CLN with the binaries as they are already being installed with&& pip install -r requirements.txt \
command in Dockerfile. files.**Option 3: Bundle requirements.txt with Binaries
Include the requirements.txt with the binaries and install the dependencies after extraction. The installation process would look something like this:
For more complex future installation steps, we could convert it into a shell script (e.g., install.sh).
Note to self: If we choose this option, remember to remove
&& pip install -r requirements.txt \
from Dockerfile. files.Open to Other Suggestions:
Feel free to share your thoughts if there is a better solution.
The text was updated successfully, but these errors were encountered: