In graalpython
https://www.graalvm.org/python/ what is difference between ginstall
and pip
? Which one to use?
These days pip
is the recommended way to install packages in GraalPy (formerly GraalPython).
The pip
bundled in GraalPy prefers versions of packages that are known to work on GraalPy, but honors the user specified version, i.e., pip install x
will install version of x
known to work with GraalPy. pip install x=1.2.3
will just install version 1.2.3
no matter if it is known to work with GraalPy (it may still work, but we haven't tested it). On top of that the GraalPy pip
patches some well known packages to be more compatible with GraalPy.
Old answer applicable to older versions of GraalPython:
Unlike pip
, ginstall
installs package versions that are known to be (mostly) compatible with GraalPython and always runs setup.py
to install the package from sources.
Both pip
and ginstall
apply GraalPython specific patches for some packages. This application of the patches is in pip
achieved by monkey patching its internals, so it may not work with never versions of pip
.
TL;DR: I would use ginstall
first. If it does not support the package you want, I'd use pip
. Also, avoid upgrading the bundled pip
if possible.
Historically, another reason for the existence of ginstall
was that GraalPython did not support SSL, which pip
needs unless you use custom mirror. This not the case anymore.