holzschu / Carnets

Carnets is a stand-alone Jupyter notebook server and client. Edit your notebooks on the go, even where there is no network.
https://holzschu.github.io/Carnets_Jupyter/
BSD 3-Clause "New" or "Revised" License
567 stars 34 forks source link

Can’t pip install paramiko #213

Open legarconjoure opened 2 years ago

legarconjoure commented 2 years ago

When I try to install paramiko it shows error Too many Python scripts. It claims to be a pure Python lib so I don't know what to do to fix. Below is the output I get before receiving the error popup. Could this please be looked into?

Defaulting to user installation because normal site-packages is not writeable Collecting paramiko Using cached paramiko-2.9.1-py2.py3-none-any.whl (210 kB) Requirement already satisfied: cryptography>=2.5 in /private/var/containers/Bundle/Application/F74235FD-BE82-4CAE-A8C9-E91DB9B5A2F4/Carnets-sci.app/Library/lib/python3.9/site-packages (from paramiko) (3.4.8) Collecting pynacl>=1.0.1 Using cached PyNaCl-1.4.0.tar.gz (3.4 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started

holzschu commented 2 years ago

It looks like paramiko depends on PyNaCl, which in turn requires libsodium, which is a C library that must be compiled at the App level (since there are no C compilers available on iOS): https://doc.libsodium.org

This is the second time someone had an issue that required PyNaCl (#155), so it seems to be relatively important.

On the specific case of paramiko, you could try !pip install paramiko --no-deps to prevent pip from installing the PyNaCl dependency. It might work. According to the paramiko docs, PyNaCl is only used for ed25519 keys, which may or may not be a big issue in your case.