Как установить pip без root-доступа в Ubuntu > 18.04 без установленного пакета distutils

Для ответа на вопрос можно использовать debconfпредварительную настройку; в вашем случае, насколько я могу судить, это будет что-то вроде

echo mariadb-galera-server-5.5 mysql-server-5.1/postrm_remove_databases boolean true | debconf-set-selections

Чтобы определить точные значения для первых двух частей («mariadb-galera-server-5.5» и «mysql-server-5.1/postrm_remove_databases» ), вам нужно определить, какой пакет предлагает вам (посмотреть заголовок окно на скриншоте )и посмотрите на ожидаемое значение шаблона (в его postrm,/var/lib/dpkg/info/mariadb-galera-server-5.5.postrm). Вы также можете просмотреть вывод debconf-get-selectionsи найти соответствующую запись.

Затем запустите aptс debconfв не -интерактивном режиме:

DEBIAN_FRONTEND=noninteractive apt purge mariadb\*
1
31.01.2021, 01:04
1 ответ

Насколько я могу судить, distutils является частью стандартной библиотеки Python , по крайней мере, для Python 3. Если он не установлен, у вас должна быть неудачная установка Python (, возможно, намеренно так хостинг-провайдером ).

Тем не менее, исходный код distutils можно найти здесь . Вам нужно только получить его копию в уязвимой системе (либо через git clone, либо загрузив и распаковав архив ), а затем соответствующим образом установить PYTHONPATH, чтобы заставить -pip.py работать :

. ]
9d3194663b77% git clone https://github.com/pypa/distutils
Cloning into 'distutils'...
remote: Enumerating objects: 1474, done.
remote: Counting objects: 100% (1474/1474), done.
remote: Compressing objects: 100% (659/659), done.
remote: Total 13343 (delta 890), reused 1362 (delta 811), pack-reused 11869
Receiving objects: 100% (13343/13343), 5.14 MiB | 22.78 MiB/s, done.
Resolving deltas: 100% (9592/9592), done.
9d3194663b77% cd distutils/distutils 
9d3194663b77% ls
README            bcppcompiler.py  config.py           dep_util.py  extension.py     log.py            py38compat.py  text_file.py      versionpredicate.py
__init__.py       ccompiler.py     core.py             dir_util.py  fancy_getopt.py  msvc9compiler.py  spawn.py       unixccompiler.py
_msvccompiler.py  cmd.py           cygwinccompiler.py  dist.py      file_util.py     msvccompiler.py   sysconfig.py   util.py
archive_util.py   command          debug.py            errors.py    filelist.py      py35compat.py     tests          version.py
9d3194663b77% cd..

9d3194663b77% PYTHONPATH=. python3 ~/get-pip.py
Defaulting to user installation because normal site-packages is not writeable
Collecting pip
  Downloading pip-21.0.1-py3-none-any.whl (1.5 MB)
     |________________________________| 1.5 MB 7.1 MB/s 
Collecting setuptools
  Downloading setuptools-52.0.0-py3-none-any.whl (784 kB)
     |________________________________| 784 kB 39.9 MB/s 
Collecting wheel
  Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel, setuptools, pip
  WARNING: The script wheel is installed in '/home/test/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts pip, pip3 and pip3.7 are installed in '/home/test/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-21.0.1 setuptools-52.0.0 wheel-0.36.2
0
18.03.2021, 22:33

Теги

Похожие вопросы