Удалите Jupyter с помощью пункта

У меня есть jupyter исполняемый файл здесь: /usr/local/bin/jupyter

Исторически я знаю, что использую Python 2 из дистрибутива Ubuntu (без Anaconda), поэтому я думаю, что jupyter пришел из системы pip2 установить, но я не могу найти способ доказать это, есть ли?

Предполагая предыдущий сценарий, я сделал это: sudo /usr/local/bin/pip2 uninstall jupyter и это sudo /usr/local/bin/pip2 uninstall notebook (даже если в /usr/local/binМне все еще нужно sudo потому что, кажется, все файлы там принадлежат rootпо какой-то причине), но я продолжаю видеть этот исполняемый файл здесь: /usr/local/bin/jupyter

Также: я знаю, что jupyter затронут, потому что теперь команда: jupyter notebook дает этот вывод Error executing Jupyter command 'notebook': [Errno 2] No such file or directory,

Как мне удалить его? Зачем pip2 не удаляет этот исполняемый файл?

Редактировать:

В настоящее время я вижу это на моей файловой системе:

ls -lah /usr/local/bin | grep jupyter
-rwxr-xr-x  1 root root  222 May  6  2017 jupyter
-rwxr-xr-x  1 root root  221 May  6  2017 jupyter-console
-rwxr-xr-x  1 root root  264 May  6  2017 jupyter-kernelspec
-rwxr-xr-x  1 root root  222 May  6  2017 jupyter-migrate
-rwxr-xr-x  1 root root  224 May  6  2017 jupyter-nbconvert
-rwxr-xr-x  1 root root  224 May  6  2017 jupyter-qtconsole
-rwxr-xr-x  1 root root  243 May  6  2017 jupyter-run
-rwxr-xr-x  1 root root  227 May  6  2017 jupyter-troubleshoot
-rwxr-xr-x  1 root root  255 May  6  2017 jupyter-trust

Когда unistalling jupyter Я видел это:

sudo pip2 uninstall jupyter
[sudo] password for <MY_USERNAME>: 
The directory '/home/<MY_USERNAME>/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Uninstalling jupyter-1.0.0:
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/DESCRIPTION.rst
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/INSTALLER
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/METADATA
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/RECORD
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/WHEEL
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/metadata.json
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/pbr.json
  /usr/local/lib/python2.7/dist-packages/jupyter-1.0.0.dist-info/top_level.txt
  /usr/local/lib/python2.7/dist-packages/jupyter.py
  /usr/local/lib/python2.7/dist-packages/jupyter.pyc
Proceed (y/n)? y
  Successfully uninstalled jupyter-1.0.0
The directory '/home/<MY_USERNAME>/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Когда unistalling notebook Я видел это:

sudo pip2 uninstall notebook
The directory '/home/<MY_USERNAME>/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Uninstalling notebook-5.0.0:
  /usr/local/bin/jupyter-bundlerextension
  /usr/local/bin/jupyter-nbextension
  /usr/local/bin/jupyter-notebook
  /usr/local/bin/jupyter-serverextension
  /usr/local/lib/python2.7/dist-packages/notebook-5.0.0.dist-info/DESCRIPTION.rst

  [...]

  /usr/local/lib/python2.7/dist-packages/notebook/tree/tests/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/notebook/tree/tests/test_tree_handler.py
  /usr/local/lib/python2.7/dist-packages/notebook/tree/tests/test_tree_handler.pyc
  /usr/local/lib/python2.7/dist-packages/notebook/utils.py
  /usr/local/lib/python2.7/dist-packages/notebook/utils.pyc
  /usr/local/lib/python2.7/dist-packages/notebook/view/__init__.py
  /usr/local/lib/python2.7/dist-packages/notebook/view/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/notebook/view/handlers.py
  /usr/local/lib/python2.7/dist-packages/notebook/view/handlers.pyc
Proceed (y/n)? y
  Successfully uninstalled notebook-5.0.0
The directory '/home/<MY_USERNAME>/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

2 ответа

Я пытался воспроизвести ваш сценарий, и у меня не установлен Jupyter. Итак, сначала:

sudo pip2 install jupyter

Он загрузил jupyter, а также довольно много других пакетов, но завершился сначала ошибкой, а затем, при повторном запуске, несколько раз с:

x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _scandir.c -o build/temp.linux-x86_64-2.7/_scandir.o
    _scandir.c:14:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Тем не менее, похоже, что по крайней мере исполняемый файл jupyter уже установлен:

$ jupyter
usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
               [--paths] [--json]
               [subcommand]
jupyter: error: one of the arguments --version subcommand --config-dir --data-dir --runtime-dir --paths is required

$ whereis jupyter
jupyter: /usr/local/bin/jupyter

Но когда я попытался удалить его:

sudo -H pip2 uninstall jupyter
Skipping jupyter as it is not installed.

В случае, если вы получили то же самое при удалении, проблема может быть в том, что jupyter не был установлен правильно с самого начала.

Тем не менее, я наконец смог правильно установить его, установив заголовки разработчика Python: sudo apt install python-dev, И да, sudo pip2 uninstall jupyter выполнено успешно, но я все еще мог бежать /usr/local/bin/jupyter после этого.

Удаление jupyter-console пакет (найден через pip-autoremove -L) тоже не добился цели, хотя по имени можно подумать, что так и должно быть.

Но потом я попытался сделать это старым способом "Norton Commander", чтобы проверить, что внутри /usr/local/bin/jupyter, К счастью, это просто простой код Python, и я заметил интересную ссылку на пакет в строке 7:

from jupyter_core.command import main

И тогда это было сделано!

$ jupyter
usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir]
               [--paths] [--json]
               [subcommand]
jupyter: error: one of the arguments --version subcommand --config-dir --data-dir --runtime-dir --paths is required
$ sudo -H pip2 uninstall jupyter-core
Uninstalling jupyter-core-4.4.0:
  Would remove:
    /usr/local/bin/jupyter
    /usr/local/bin/jupyter-migrate
    /usr/local/bin/jupyter-troubleshoot
    /usr/local/lib/python2.7/dist-packages/jupyter.py
    /usr/local/lib/python2.7/dist-packages/jupyter_core-4.4.0.dist-info/*
    /usr/local/lib/python2.7/dist-packages/jupyter_core/*
Proceed (y/n)? y
  Successfully uninstalled jupyter-core-4.4.0
$ jupyter
bash: /usr/local/bin/jupyter: No such file or directory

Так что вся проблема в pip не удаляя на uninstall зависимости, которые он автоматически загружал во время install..

ОБНОВЛЕНИЕ: Относительно сообщений, с которыми вы столкнулись при удалении Юпитера / ноутбука - я не получил ни одного из них, но, похоже, они не связаны с обсуждаемой проблемой:

Каталог /home//.cache/pip/http или его родительский каталог не принадлежат текущему пользователю, и кэш отключен. Пожалуйста, проверьте разрешения и владельца этого каталога. Если вы выполняете pip с помощью sudo, вам может потребоваться флаг -H у sudo.

Я также получаю это, если я бегу sudo pip <anything>не sudo -H pip <anything>, Кажется безвредным.

You are using pip version 9.0.1, however version 10.0.1 is available.  
You should consider upgrading via the 'pip install --upgrade pip' command.

У меня уже есть пип 10.0.1 - вот почему я этого не вижу.

За исключением этих предупреждений, как я вижу, оба пакета удаляются корректно.

Относительно необходимости sudoНе удивлюсь как обычно pip install * устанавливает пакет для всей системы, и вряд ли вы сможете писать в /usr/local/lib/python* без рута. Параметр --user существует в pip, чтобы обойти это, более подробный ответ здесь: https://stackoverflow.com/questions/42988977/what-is-the-purpose-pip-install-user

Я удалил Jupyter, используя следующие строки кода, поэтому попробуйте.

$ sudo -H python3 -m pip uninstall jupyter_core jupyter_qtconsole nbformat nbconvert notebook

Uninstalling jupyter-core-4.4.0:
      Would remove:
        /usr/bin/jupyter
        /usr/bin/jupyter-migrate
        /usr/bin/jupyter-troubleshoot
        /usr/lib/python3/dist-packages/jupyter.py
        /usr/lib/python3/dist-packages/jupyter_core
        /usr/lib/python3/dist-packages/jupyter_core-4.4.0.egg-info
Uninstalling nbformat-4.4.0:
      Would remove:
        /home/varun/.local/bin/jupyter-trust
        /home/varun/.local/lib/python3.6/site-packages/nbformat-4.4.0.dist-info/*
        /home/varun/.local/lib/python3.6/site-packages/nbformat/*
    Proceed (y/n)? y
      Successfully uninstalled nbformat-4.4.0
Uninstalling nbconvert-5.3.1:
      Would remove:
        /home/varun/.local/bin/jupyter-nbconvert
        /home/varun/.local/lib/python3.6/site-packages/nbconvert-5.3.1.dist-info/*
        /home/varun/.local/lib/python3.6/site-packages/nbconvert/*
    Proceed (y/n)? y
        Successfully uninstalled nbconvert-5.3.1
 Uninstalling notebook-5.6.0:
      Would remove:
        /home/varun/.local/bin/jupyter-bundlerextension
        /home/varun/.local/bin/jupyter-nbextension
        /home/varun/.local/bin/jupyter-notebook
        /home/varun/.local/bin/jupyter-serverextension
        /home/varun/.local/lib/python3.6/site-packages/notebook-5.6.0.dist-info/*
        /home/varun/.local/lib/python3.6/site-packages/notebook/*
    Proceed (y/n)? y
      Successfully uninstalled notebook-5.6.0
Другие вопросы по тегам