Рейтинг:-1

sudo: jupyter: команда не найдена и OSError: [Errno 13] Отказано в доступе: '/usr/local/share/jupyter'

флаг bh

Если я попытаюсь проверить, Юпитер находится на моем пути или не использует, я получаю что-то взамен.

какой юпитер
/home/usr/.local/bin/jupyter

Но когда я пытаюсь установить и включить расширение, я сталкиваюсь с ошибкой:

sudo jupyter serverextension включить --py ipyparallel
sudo jupyter nbextension установить --py ipyparallel
sudo jupyter nbextension включить --py ipyparallel

Ошибка говорит sudo: jupyter: команда не найдена

И мне нужен доступ к sudo. Причина выполнения без sudo не выполняет работу:

jupyter serverextension включить --py ipyparallel
jupyter nbextension установить --py ipyparallel 
jupyter nbextension включить --py ipyparallel 
Включение: ipyparallel.nbextension
- Написание конфига: /home/usr/.jupyter
    - Проверка...
      ipyparallel.nbextension в порядке
Установка /home/usr/.local/lib/python2.7/site-packages/ipyparallel/nbextension/static -> ipyparallel
Traceback (последний последний вызов):
  Файл "/home/usr/.local/bin/jupyter-nbextension", строка 8, в <module>
    sys.exit(основной())
  Файл "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/application.py", строка 270, в launch_instance
    вернуть super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  Файл "/home/usr/.local/lib/python2.7/site-packages/traitlets/config/application.py", строка 664, в launch_instance
    приложение.старт()
  Файл "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", строка 988, в начале
    супер(NBExtensionApp, сам).start()
  Файл "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/application.py", строка 259, в начале
    self.subapp.start ()
  Файл "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", строка 716, в начале
    self.install_extensions()
  Файл "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", строка 695, в install_extensions
    **кваргс
  Файл "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", строка 225, в install_nbextension_python
    пункт назначения = пункт назначения, регистратор = регистратор
  Файл "/home/usr/.local/lib/python2.7/site-packages/notebook/nbextensions.py", строка 126, в install_nbextension
    гарантировать_каталог_существует(nbext)
  Файл "/home/usr/.local/lib/python2.7/site-packages/jupyter_core/utils/__init__.py", строка 13, в sure_dir_exists
    os.makedirs (путь, режим = режим)
  Файл "/usr/lib/python2.7/os.py", строка 150, в makedirs
    makedirs (голова, режим)
  Файл "/usr/lib/python2.7/os.py", строка 157, в makedirs
    mkdir(имя, режим)
OSError: [Errno 13] Отказано в доступе: '/usr/local/share/jupyter'
Включение расширения дерева ipyparallel/main...
      - Проверка: ОК

В этом (^) случае ошибка говорит: OSError: [Errno 13] Отказано в доступе: '/usr/local/share/jupyter'

Итак, как я могу это исправить?

я добавил экспорт PATH="$HOME/.local/bin:$PATH" в последней строке ~/.bashrc

muru avatar
флаг us
Попробуйте установить *без* `sudo`, но с `--user`.
Рейтинг:0
флаг cn

Когда вы используете судо, действует другая среда. Соответственно, ваша личная папка bin (/home/usr/.local/bin/jupyter) больше нет в пути поиска, и команда больше не найдена.

Действующий путь определяется в файле sudoers. В Ubuntu это выглядит так:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Таким образом, установите свой бинарник в (/USR/местные/бен), чтобы его можно было найти при прогоне через судо команда. По соглашению, это каталог, предназначенный для установленных вручную исполняемых файлов, то есть управляемый вручную администратором, а не автоматически дистрибутивом.

В качестве альтернативы, сохраните двоичный файл там, где он есть, и используйте вариант судо команда. Это сохраняет вашу текущую среду, включая путь. Некоторые мысли: 1) операционная система должна позволять это (Ubuntu разрешает), 2) если возможно, лучше держаться подальше от собственной пользовательской папки для операций, требующих прав root, и 3) определенно не запускайте графические программы таким образом, потому что это может испортить разрешения.

vanadium avatar
флаг cn
@steeldriver Хорошо, некоторые исследования действительно показывают, что sudo использует путь, определенный в файле sudoers. Я обновлю свой ответ.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.