Как выполнить команды sudo в slurm-кластере, когда вы не являетесь администратором - PullRequest
1 голос
/ 28 апреля 2019

Почему мне нужно sudo:

Мне нужно выполнить команду sudo, чтобы решить проблему с установкой пакета python для моей учетной записи пользователя в кластере slurm.

Что я пробовал:

У меня нет прав администратора для этого кластера, поэтому я создал виртуальную среду, используя "virtualenv". Когда я попытался выполнить команду sudo внутри виртуальной среды, меня попросили ввести мой пароль, и я получил сообщение « my_user_name отсутствует в файле sudoers. Об этом инциденте будет сообщено » ,

Разве я не должен иметь полный доступ к виртуалу, который я создал? Ввод "какого питона" в терминале подтверждает, что я в виртуальной среде.

Что вы делаете, когда вам нужно использовать sudo в slurm, и вы не являетесь администратором?

РЕДАКТИРОВАТЬ (включая мой код ошибки при попытке установить горелку):

    ERROR: Complete output from command python setup.py egg_info:
    ERROR: Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-bj95am_3/torch/setup.py", line 11, in <module>
        raise RuntimeError(README)
    RuntimeError: PyTorch does not currently provide packages for PyPI (see status at https://github.com/pytorch/pytorch/issues/566).

    Please follow the instructions at http://pytorch.org/ to install with miniconda instead.

    ----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-bj95am_3/torch/

1 Ответ

1 голос
/ 28 апреля 2019

sudo - системный инструмент Linux, который не имеет ничего общего с Python.Это позволяет вам действовать как пользователь root (или какой-либо другой пользователь) на машине, на которой вы находитесь.Если вам не было предоставлено это право, вы ничего не можете сделать, чтобы изменить это.

Создание virtualenv, то, что вы делаете в своей собственной учетной записи Linux, волшебным образом не предоставит вамвозможность выполнения действий с sudo, требующих прав суперпользователя.Особенность virtualenv в том, что когда вы вносите изменения в эту среду, все они происходят локально с вашей учетной записью пользователя.Таким образом, вы можете установить пакеты Python самостоятельно, где это повлияет на глобальную установку Python на компьютере, вам потребуются права sudo, и вы не сможете этого сделать.

Вы не можетеdo:

apt-get install python3.6-dev libmysqlclient-dev

, поскольку он устанавливает пакет в глобальной среде системы Linux, в которой вы находитесь.Вот почему вы должны использовать sudo.Если у вас нет прав sudo, вам придется попросить администратора сделать это за вас.

...