OpenInterpreter / open-interpreter

A natural language interface for computers
http://openinterpreter.com/
GNU Affero General Public License v3.0
50.58k stars 4.41k forks source link

Termux: tip and report, each time during upgrade #1257

Open Manamama opened 1 month ago

Manamama commented 1 month ago

Describe the bug

As with each upgrade in Termux psutils is also changed:

Installing collected packages: screeninfo, psutil, aifs, tiktoken, open-interpreter
  Attempting uninstall: psutil
    Found existing installation: psutil 5.9.4
    Uninstalling psutil-5.9.4:
      Successfully uninstalled psutil-5.9.4
  Attempting uninstall: aifs
    Found existing installation: aifs 0.0.9
    Uninstalling aifs-0.0.9:
      Successfully uninstalled aifs-0.0.9
  Attempting uninstall: tiktoken
    Found existing installation: tiktoken 0.5.2
    Uninstalling tiktoken-0.5.2
...

Successfully installed aifs-0.0.15 open-interpreter-0.2.5 psutil-5.9.8 screeninfo-0.8.1 tiktoken-0.6.0

which results in:

File "/usr/local/lib/python3.11/dist-packages/interpreter/terminal_interface/terminal_interface.py", line 19, in <module>
    from ..core.utils.system_debug_info import system_info
  File "/usr/local/lib/python3.11/dist-packages/interpreter/core/utils/system_debug_info.py", line 5, in <module>
    import psutil
  File "/usr/local/lib/python3.11/dist-packages/psutil/__init__.py", line 102, in <module>
    from . import _pslinux as _psplatform
  File "/usr/local/lib/python3.11/dist-packages/psutil/_pslinux.py", line 25, in <module>
    from . import _psutil_linux as cext
ImportError: libc.so: cannot open shared object file: No such file or directory

or segmentation fault for other packages (curl, apt) if e.g.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/data/com.termux/files/usr/opt/ndk-multilib/aarch64-linux-android/lib/

the most reliable fix each time is to downgrade Python's (sic!) psutil by this one-liner, each time:

pip uninstall psutil ; apt reinstall python3-psutil

FYI, then all ok:

Preparing to unpack .../python3-psutil_5.9.4-1+b1_arm64.deb ...
Unpacking python3-psutil (5.9.4-1+b1) over (5.9.4-1+b1) ...
Setting up python3-psutil (5.9.4-1+b1) ...
root@localhost:~# i

We have updated our profile file format. Would you like to migrate your profile file to the new format? No data will be lost.

(y/n) y

Migration complete.

▌ Model set to claude-3-sonnet-20240229

Open Interpreter will require approval before
running code.

Use interpreter -y to bypass this.

Press CTRL-C to exit.

etc .

Reproduce

Run upgrade in e.g. :

root@localhost:~# uname -a                      Linux localhost 6.2.1-PRoot-Distro #1 SMP PREEMPT Thu Mar 17 16:28:22 CST 2022 aarch64 GNU/Linuxroot@localhost:~#

Expected behavior

Upgrade should somehow detect the OS, the Termux prooted Debian here.

Screenshots

No response

Open Interpreter version

E.g.. when upgrading to: 0.2.5

Python version

Python 3.11.2

Operating System name and version

Prooted Debian (as regular Termux crashes with ipykernel too often)

Additional context

Upgrade is ok in regular Termux:

root@localhost:~# uname        -a           Linux localhost 6.2.1-PRoot-Distro #1 SMP PREEMPT Thu Mar 17 16:28:22 CST 2022 aarch64 GNU/Linuxroot@localhost:~#

the above downgrade then not needed.