One place for hosting & domains

      Notebook

      Como Configurar o Jupyter Notebook com Python 3 no Debian 10


      Introdução

      O Jupyter Notebook oferece um shell de comando para computação interativa como uma aplicação web, para que você possa compartilhar e se comunicar com código. A ferramenta pode ser usada com várias linguagens, incluindo Python, Julia, R, Haskell e Ruby. É frequentemente utilizado para trabalhar com dados, modelagem estatística e aprendizado de máquina.

      Este tutorial o guiará na configuração do Jupyter Notebook para executar em um servidor Debian 10, além de lhe ensinar como se conectar e usar o Notebook. Os Notebooks Jupyter (ou apenas “Notebooks”) são documentos produzidos pelo aplicativo Jupyter Notebook que contêm código de computador e elementos de rich text (parágrafo, equações, figuras, links etc.) que auxiliam na apresentação e compartilhamento de pesquisas reproduzíveis.

      Ao final deste guia, você será capaz de executar código Python 3 usando o Jupyter Notebook em um servidor Debian 10 remoto.

      Pré-requisitos

      Para concluir este guia, você deve ter uma nova instância do servidor Debian 10 com um firewall básico e um usuário não-root com privilégios sudo configurados. Você pode aprender como configurar isso seguindo nosso guia Initial Server Setup with Debian 10.

      Para iniciar o processo, baixaremos e instalaremos todos os itens que precisamos dos repositórios do Debian. Usaremos o gerenciador de pacotes Python pip para instalar componentes adicionais um pouco mais tarde.

      Primeiro precisamos atualizar o índice de pacotes local do apt e depois baixar e instalar os pacotes:

      Em seguida, instale o pip e os arquivos de header ou cabeçalho Python, que são usados por algumas das dependências do Jupyter:

      • sudo apt install python3-pip python3-dev

      O Debian 10 (“Buster”) vem com o Python 3.7 pré-instalado.

      Agora podemos seguir para a configuração de um ambiente virtual Python no qual instalaremos o Jupyter.

      Passo 2 — Criar um Ambiente Virtual Python para o Jupyter

      Agora que temos o Python 3, seus arquivos de header e o pip prontos, podemos criar um ambiente virtual Python para facilitar o gerenciamento. Instalaremos o Jupyter neste ambiente virtual.

      Para fazer isso, primeiro precisamos de acesso ao comando virtualenv. Podemos instalar isso com o pip.

      Atualize o pip e instale o pacote digitando:

      • sudo -H pip3 install --upgrade pip
      • sudo -H pip3 install virtualenv

      Com o virtualenv instalado, podemos começar a formar nosso ambiente. Crie e mude para um diretório em que possamos manter nossos arquivos de projeto:

      • mkdir ~/myprojectdir
      • cd ~/myprojectdir

      Dentro do diretório do projeto, crie um ambiente virtual Python digitando:

      Isso criará um diretório chamado myprojectenv dentro do seu diretório myprojectdir. Dentro dele, será instalada uma versão local do Python e uma versão local do pip. Podemos usar isso para instalar e configurar um ambiente Python isolado para o Jupyter.

      Antes de instalarmos o Jupyter, precisamos ativar o ambiente virtual. Você pode fazer isso digitando:

      • source myprojectenv/bin/activate

      Seu prompt deve mudar para indicar que você está operando agora em um ambiente virtual Python. Vai se parecer com algo assim: (myprojectenv)user@host:~/myprojectdir$.

      Agora você está pronto para instalar o Jupyter neste ambiente virtual.

      Passo 3 — Instalar o Jupyter

      Com seu ambiente virtual ativo, instale o Jupyter com a instância local do pip:

      Nota: Quando o ambiente virtual estiver ativado (quando o seu prompt tiver (myprojectenv) precedendo-o), use pip em vez de pip3, mesmo se você estiver usando o Python 3. A cópia da ferramenta do ambiente virtual é sempre chamada de pip, independentemente da versão do Python.

      Neste ponto, você instalou com êxito todo o software necessário para executar o Jupyter. Agora podemos iniciar o servidor de Notebook.

      Passo 4 — Executar o Jupyter Notebook

      Agora você tem tudo o que precisa para executar o Jupyter Notebook! Para executá-lo, execute o seguinte comando:

      Um log das atividades do Jupyter Notebook será impresso no terminal. Quando você executa o Jupyter Notebook, ele é executado em um número de porta específico. O primeiro Notebook que você executa geralmente usa a porta 8888. Para verificar o número da porta específica em que o Jupyter Notebook está sendo executado, consulte a saída do comando usado para iniciá-lo:

      Output

      [I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/myprojectdir [I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser. [C 21:23:21.361 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

      Se você estiver executando o Jupyter Notebook em um computador Debian local (não em um Droplet), você pode simplesmente navegar até a URL exibida para se conectar ao Jupyter Notebook. Se você estiver executando o Jupyter Notebook em um Droplet, precisará se conectar ao servidor usando o tunelamento SSH, conforme descrito na próxima seção.

      Nesse ponto, você pode manter a conexão SSH aberta e manter o Jupyter Notebook em execução ou pode sair do aplicativo e executá-lo novamente depois de configurar o tunelamento SSH. Vamos simplificar e interromper o processo do Jupyter Notebook. Vamos executá-lo novamente assim que o tunelamento SSH estiver funcionando. Para interromper o processo do Jupyter Notebook, pressione CTRL+C, digite Y e pressione ENTER para confirmar. O seguinte será exibido:

      Output

      [C 21:28:28.512 NotebookApp] Shutdown confirmed [I 21:28:28.512 NotebookApp] Shutting down 0 kernels

      Agora vamos configurar um túnel SSH para que possamos acessar o Notebook.

      Passo 5 — Conectar ao Servidor Usando o Tunelamento SSH

      Nesta seção, aprenderemos como conectar-se à interface web do Jupyter Notebook usando o tunelamento SSH. Como o Jupyter Notebook será executado em uma porta específica no servidor (como :8888, :8889 etc.), o tunelamento SSH lhe permite conectar à porta do servidor com segurança.

      As próximas duas subseções descrevem como criar um túnel SSH a partir de 1) um Mac ou Linux e 2) Windows. Consulte a subseção correspondente ao seu computador local.

      Tunelamento SSH com um Mac ou Linux

      Se você estiver usando um Mac ou Linux, as etapas para criar um tunelamento SSH são semelhantes ao uso do SSH para efetuar login no seu servidor remoto, exceto que existem parâmetros adicionais no comando ssh. Esta subseção descreverá os parâmetros adicionais necessários no comando ssh para fazer o túnel com êxito.

      O tunelamento SSH pode ser feito executando o seguinte comando SSH em uma nova janela do terminal local:

      • ssh -L 8888:localhost:8888 usuário_do_seu_servidor@ip_do_seu_servidor

      O comando ssh abre uma conexão SSH, mas o -L especifica que a porta indicada no host local (cliente) deve ser encaminhada para o host e porta especificados no lado remoto (servidor). Isso significa que tudo o que estiver em execução no segundo número da porta (por exemplo, 8888) no servidor aparecerá no primeiro número de porta (por exemplo, 8888) no computador local.

      Opcionalmente, altere a porta 8888 para uma de sua escolha, para evitar o uso de uma porta já em uso por outro processo.

      usuário_do_seu_servidor é o seu nome de usuário (por exemplo, sammy) no servidor que você criou e ip_do_seu_servidor é o endereço IP do seu servidor.

      Por exemplo, para o nome de usuário sammy e o endereço do servidor 203.0.113.0, o comando seria:

      • ssh -L 8888:localhost:8888 sammy@203.0.113.0

      Se nenhum erro aparecer após a execução do comando ssh -L, você poderá entrar no seu ambiente de programação e executar o Jupyter Notebook:

      Você receberá uma saída com uma URL. Em um navegador em sua máquina local, abra a interface web do Jupyter Notebook com a URL que começa com http://localhost:8888. Certifique-se de que o número do token esteja incluído ou digite a string do número do token quando solicitado em http://localhost:8888.

      Tunelamento SSH com Windows e Putty

      Se você estiver usando o Windows, poderá criar um túnel SSH usando o Putty.

      Primeiro, digite a URL ou o endereço IP do servidor como o nome do host, como mostrado:

      Set Hostname for SSH Tunnel

      Em seguida, clique em SSH na parte inferior do painel esquerdo para expandir o menu e clique em Tunnels. Digite o número da porta local a ser usada para acessar o Jupyter em sua máquina local. Escolha 8000 ou superior para evitar portas usadas por outros serviços e defina o destino como localhost:8888 onde :8888 é o número da porta em que o Jupyter Notebook está sendo executado.

      Agora clique no botão Add e as portas devem aparecer na lista Forwarded ports:

      Forwarded ports list

      Por fim, clique no botão Open para conectar-se ao servidor via SSH e tunelar as portas desejadas. Navegue para http://localhost:8000 (ou qualquer porta que você escolher) em um navegador web para conectar-se ao Jupyter Notebook em execução no servidor. Certifique-se de que o número do token esteja incluído ou insira a string do número do token quando solicitado em http://localhost:8000.

      Passo 6 — Usando o Jupyter Notebook

      Esta seção aborda os conceitos básicos do uso do Jupyter Notebook. Se você não possui o Jupyter Notebook atualmente em execução, inicie-o com o comando jupyter notebook.

      Agora você deve estar conectado a ele usando um navegador. O Jupyter Notebook é uma ferramenta muito poderosa com muitos recursos. Esta seção descreverá alguns dos recursos básicos para você começar a usar o Notebook. O Jupyter Notebook mostrará todos os arquivos e pastas no diretório em que é executado, portanto, quando você estiver trabalhando em um projeto, certifique-se de iniciá-lo a partir do diretório do projeto.

      Para criar um novo arquivo do Notebook, selecione New > Python 3 no menu suspenso superior direito:

      Create a new Python 3 notebook

      Isso abrirá um notebook. Agora podemos executar o código Python na célula ou alterá-la para markdown. Por exemplo, altere a primeira célula para aceitar o Markdown clicando em Cell > Cell Type > Markdown na barra de navegação superior. Agora podemos escrever notas usando o Markdown e até incluir equações escritas em LaTeX colocando-as entre os símbolos $$. Por exemplo, digite o seguinte na célula depois de alterá-la para markdown:

      # First Equation
      
      Let us now implement the following equation:
      $$ y = x^2$$
      
      where $x = 2$
      

      Para transformar o markdown em rich text, pressione CTRL+ENTER, e o resultado deve ser o seguinte:

      results of markdown

      Você pode usar as células markdown para fazer anotações e documentar seu código. Vamos implementar essa equação e imprimir o resultado. Clique na célula superior e pressione ALT+ENTER para adicionar uma célula abaixo dela. Digite o seguinte código na nova célula.

      x = 2
      y = x**2
      print(y)
      

      Para executar o código, pressione CTRL+ENTER. Você receberá os seguintes resultados:

      first equation results

      Agora você tem a capacidade de importar módulos e usar o Notebook como faria com qualquer outro ambiente de desenvolvimento Python!

      Conclusão

      Nesse ponto, você deve poder escrever código e notas Python reproduzíveis no Markdown usando o Jupyter Notebook. Para obter um tour rápido pelo Jupyter Notebook de dentro da interface, selecione Help > User Interface Tour no menu de navegação superior para saber mais.

      A partir daqui, você pode iniciar um projeto de análise e visualização de dados lendo o tutorial Data Analysis and Visualization with pandas and Jupyter Notebook in Python 3.



      Source link

      Настройка Jupyter Notebook с помощью Python 3 в Ubuntu 18.04


      Введение

      Веб-приложение с открытым исходным кодом, Jupyter Notebook, позволяет создавать и обмениваться интерактивными кодом, визуализациями и многим другим. Этот инструмент можно использовать с несколькими языками программирования, включая Python, Julia, R, Haskell и Ruby. Он часто используется для работы с данными, статистическими моделями и машинным обучением.

      Из этого обучающего руководства вы узнаете, как выполнить настройку Jupyter Notebook для запуска на сервере с Ubuntu 18.04, а также научитесь подключаться к блокноту и использовать его. Блокноты Jupyter (или просто блокноты) — это документы, генерируемые приложением Jupyter Notebook, которые содержат компьютерный код и форматированные текстовые элементы (параграф, цитаты, изображения, ссылки и т.д.), которые помогают отображать и делиться воспроизводимые разработки.

      К концу этого руководства вы сможете запускать код Python 3 с помощью Jupyter Notebook, запущенном на удаленном сервере.

      Предварительные требования

      Для прохождения этого обучающего модуля вам потребуется новый экземпляр сервера Ubuntu 18.04 с базовым брандмауэром и пользователем с привилегиями sudo и без привилегий root. Чтобы узнать, как настроить такой сервер, воспользуйтесь нашим руководством по начальной настройке сервера.

      Шаг 1 — Настройка Python

      Для начала процесса настройки мы установим зависимости, которые нам потребуется для нашей среды программирования Python, из репозиториев Ubuntu. В Ubuntu 18.04 уже предустановлена версия Python 3.6. Для установки дополнительных компонентов мы немного позднее используем диспетчер пакетов Python pip.

      Сначала нам нужно обновить локальный индекс пакетов apt, а затем загрузить и установить пакеты:

      Затем установите pip и заголовочные файлы Python, которые используются определенными зависимостями Jupyter:

      • sudo apt install python3-pip python3-dev

      Теперь мы можем перейти к настройке виртуальной среды Python, куда мы будем устанавливать Jupyter.

      Шаг 2 — Создание виртуальной среды Python для Jupyter

      Теперь, когда у нас есть Python 3, а заголовочные файлы и pip готовы к запуску, мы можем создать виртуальную среду Python для управления нашими проектами. Мы установим Jupyter в эту виртуальную среду.

      Для этого нам потребуется доступ к virtualenv, который мы можем установить с помощью pip.

      Обновите pip и установите пакет с помощью следующей команды:

      • sudo -H pip3 install --upgrade pip
      • sudo -H pip3 install virtualenv

      Флаг -H гарантирует, что политика безопасности устанавливает переменную среды home в домашнюю директорию пользователя.

      После установки virtualenv мы можем начать формирование нашей среды. Создайте каталог для файлов нашего проекта и перейдите в этот каталог. Мы назовем ее my_project_dir, но вы должны использовать имя, которое понятно вам и согласуется с тем, над чем вы работаете.

      • mkdir ~/my_project_dir
      • cd ~/my_project_dir

      В директории проекта мы создадим виртуальную среду Python. Для целей данного руководства мы назовем ее my_project_env, но вы должны использовать название, соответствующее вашему проекту.

      • virtualenv my_project_env

      Эта команда создаст каталог my_project_env в каталоге my_project_dir. В этот каталог будут установлены локальная версия Python и локальная версия pip. Мы можем использовать ее для установки и настройки изолированной среды Python для Jupyter.

      Перед созданием Jupyter нам потребуется активировать виртуальную среду. Для этого можно использовать следующую команду:

      • source my_project_env/bin/activate

      Командная строка изменится, показывая, что теперь вы работаете в виртуальной среде Python. Она будет выглядеть примерно так: (my_project_env)user@host:~/my_project_dir$.

      Теперь вы можете выполнить установку Jupyter в эту виртуальную среду.

      Шаг 3 — Установка Jupyter

      При запущенной виртуальной среде установите Jupyter с помощью локального экземпляра pip.

      Примечание: если виртуальная среда активна (когда перед командной строкой стоит (my_project_env)), необходимо использовать pip вместо pip3, даже если вы используете Python 3. Копия инструмента в виртуальной среде всегда имеет имя pip вне зависимости от версии Python.

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

      Шаг 4 — Запуск Jupyter Notebook

      Теперь у вас есть все, что нужно для запуска Jupyter Notebook! Для его запуска воспользуйтесь следующей командой:

      Журнал активности Jupyter Notebook будет выведен в командной строке. При запуске Jupyter Notebook будет использоваться порт с конкретным номером. Первый Notebook, который вы будете запускать, обычно использует порт 8888. Чтобы проверить, какой номер порта использует Jupyter, см. вывод команды, которую вы использовали для запуска:

      Output

      [I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir [I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser. [C 21:23:21.361 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

      Если вы запускаете Jupyter Notebook на локальном компьютере (а не на сервере), вы можете перейти к отображаемому URL-адресу для подключения к Jupyter Notebook. Если вы запускаете Jupyter Notebook на сервере, вам нужно будет подключаться к серверу с помощью туннеля SSH, как указано в следующем разделе.

      В данный момент вы можете сохранить соединение SSH открытым и поддерживать Jupyter Notebook в рабочем состоянии, или закрыть приложение и снова запустить его после настройки туннеля SSH. Давайте завершим процесс Jupyter Notebook. Мы запустим его снова после настройки туннеля SSH. Чтобы остановить процесс Jupyter Notebook, нажмите CTRL+C, введите Y, а затем ENTER для подтверждения. В результате будет отображен следующий вывод:

      Output

      [C 21:28:28.512 NotebookApp] Shutdown confirmed [I 21:28:28.512 NotebookApp] Shutting down 0 kernels

      Теперь мы настроим туннель SSH, чтобы получить доступ к Notebook.

      Шаг 5 — Подключение к серверу с помощью туннеля SSH

      В этом разделе мы узнаем, как подключиться к веб-интерфейсу Jupyter Notebook с помощью туннеля SSH. Поскольку Jupyter Notebook будет работать на конкретном порту на сервере (например, :8888, :8889 и т. д.), туннель SSH позволяет безопасно подключаться к порту сервера.

      В следующих двух подразделах описано, как создать туннель SSH в (1) Mac или Linux и в (2) Windows. См. подраздел для вашего локального компьютера.

      Туннель SSH в Mac или Linux

      Если вы используете Mac или Linux, шаги, которые необходимо выполнить для создания туннеля SSH, аналогичны шагам, которые выполняются при входе на удаленный сервер с помощью SSH, за исключением дополнительных параметров в команде ssh. В этом подразделе будут показаны дополнительные параметры, необходимые команде ssh для успешного создания туннеля.

      Создание туннелей SSH может быть осуществлено с помощью следующей команды SSH, которую необходимо ввести в новом окне локальной командной строки:

      • ssh -L 8888:localhost:8888 your_server_username@your_server_ip

      Команда ssh открывает соединение SSH, но -L указывает, что данный порт на локальном хосте (клиент) будет отправляться на заданный хост и порт на удаленном конце (сервер). Это значит, что бы ни было запущено на втором порту (например, 8888) на сервере, оно появится на первом порту (например, 8888) на локальном компьютере.

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

      server_username — это ваше имя пользователя (например, sammy) на сервере, который вы создали, а your_server_ip — это IP-адрес вашего сервера.

      Например, для имени пользователя sammy и адреса сервера 203.0.113.0, команда будет выглядеть следующим образом:

      • ssh -L 8888:localhost:8888 sammy@203.0.113.0

      Если после запуска команды ssh -L не появится ошибок, вы можете перейти в среду программирования и запустить Jupyter Notebook:

      Вы получите вывод с URL-адресом. В веб-браузере на локальном компьютере откройте веб-интерфейс Jupyter Notebook с URL-адресом, который начинается с http://localhost:8888. Убедитесь, что номер маркера включен, либо введите строку с номером маркера при запросе в http://localhost:8888.

      Создание туннелей SSH с использованием Windows и PuTTY

      Если вы используете Windows, вы можете создать туннель SSH с помощью Putty.

      Введите URL-адрес сервера или IP-адрес в качестве имени хоста, как показано ниже:

      Задайте имя хоста для туннеля SSH

      Далее нажмите SSH в нижней части левой панели, чтобы расширить меню, а затем нажмите Tunnels (Туннели). Введите локальный номер порта, который вы хотите использовать для доступа к Jupyter на локальном компьютере. Выберите 8000 или выше, чтобы избежать использования портов, которые уже используются другими службами, и задайте назначение localhost: 8888, где :8888 — номер порта, на котором запущен Jupyter Notebook.

      Затем нажмите кнопку Add (Добавить), после чего порты должны появиться в списке Forwarded ports (Перенаправляемые порты):

      Список перенаправляемых портов

      После этого нажмите кнопку Open (Открыть) для подключения к серверу через SSH и туннель с нужными портами. Перейдите на http://localhost:8000 (или любой порт на выбор) в веб-браузере для подключения к Jupyter Notebook, запущенному на сервере. Убедитесь, что номер маркера включен, либо введите строку с номером маркера при запросе в http://localhost:8000.

      Шаг 6 — Использование Jupyter Notebook

      В этом разделе рассматриваются базовые принципы использования Jupyter Notebook. Если у вас нет запущенного Jupyter Notebook, запустите его с помощью команды jupyter notebook.

      Теперь вы должны быть подключены к нему с помощью браузера. Jupyter Notebook — это очень мощный инструмент с множеством функций. В этом разделе будет описан ряд базовых функций, необходимых для начала использования Notebook. Jupyter Notebook будет отображать все файлы и папки в директории, в которой он запущен, поэтому, если вы работаете над проектом, убедитесь, что вы можете запустить его из директории проекта.

      Чтобы создать новый файл Notebook, выберите New (Новый) > Python 3 в выпадающем меню в верхнем правом углу:

      Создайте новый блокнот Python 3

      В результате откроется Notebook. Теперь мы можем запустить код Python в ячейке или изменить ячейку на разметку. Например, измените первую ячейку, чтобы она могла принимать разметку, нажмите Cell (Ячейка) > Cell Type (Тип ячейки) > Markdown (Разметка) в верхней панели навигации. Теперь мы можем добавлять записи с помощью разметки и даже включать уравнения, созданные в LaTeX, поместив их между символами $$. Например, введите в ячейку следующее после ее переключения на разметку:

      # First Equation
      
      Let us now implement the following equation:
      $$ y = x^2$$
      
      where $x = 2$
      

      Чтобы преобразовать разметку в расширенный текстовый формат, нажмите CTRL + ENTER, и получите следующий результат:

      результат разметки

      Вы можете использовать ячейки разметки для заметок и документирования программного кода. Давайте реализуем это уравнение и распечатаем результат. Нажмите на верхнюю ячейку, а затем нажмите ALT+ENTER чтобы добавить ячейку ниже. Введите в новую ячейку следующий код.

      x = 2
      y = x**2
      print(y)
      

      Для запуска кода нажмите CTRL+ENTER. Вы получите следующие результаты:

      результаты первого уравнения

      Теперь вы можете импортировать модули и использовать Notebook, как и любую другую среду разработки Python!

      Заключение

      Поздравляем! Теперь вы можете писать воспроизводимый код Python и записи в Markdown с помощью Jupyter Notebook. Для быстрого ознакомления с интерфейсом Jupyter Notebook выберите Help (Справка) > User Interface Tour (Знакомство с пользовательским интерфейсом) в верхнем меню навигации.

      Здесь вы можете запустить проект анализа данных и визуализации, ознакомившись со статьей Анализ данных и визуализация с pandas и Jupyter Notebook в Python 3.

      Если вы хотите узнать больше, ознакомьтесь с нашей серией статей Визуализация временных рядов и прогнозирование.



      Source link

      Установка, запуск и подключение к Jupyter Notebook на удаленном сервере


      Автор выбрал Apache Software Foundation для получения пожертвования в размере $100 в рамках программы Write for DOnations.

      Введение

      Jupyter Notebook — интерактивное веб-приложение с открытым исходным кодом, позвоялющее писать и запускать программный код более чем на 40 языках программирования, включая Python, R, Julia и Scala. Jupyter Notebook — это продукт Project Jupyter, очень полезный для итеративного программирования, поскольку он позволяет написать небольшой фрагмент кода, запустить его и вывести результат.

      Jupyter Notebook позволяет создавать документы в форме блокнота, обычно называемые «блокнотами». Блокноты, создаваемые Jupyter Notebook, представляют собой доступные для публикации и воспроизведения исследовательские документы, содержащие элементы расширенного текста, уравнения, код и результаты исполнения (рисунки, таблицы, интерактивные графики). Блокноты можно экспортировать в файлы кода, документы HTML или PDF, а также использовать для создания интерактивных слайд-шоу или веб-страниц.

      Эта статья расскажет вам о том, как установить и настроить приложение Jupyter Notebook на веб-сервере Ubuntu 18.04 и подключиться к нему с локального компьютера. Также мы покажем, как использовать Jupyter Notebook для запуска примера кода на Python.

      Предварительные требования

      Для данного обучающего руководства вам потребуется следующее:

      Кроме того, если на вашем локальном компьютере используется Windows, вам нужно будет установить PuTTY для создания туннеля SSH для подключения к серверу. Для загрузки и установки PuTTY следуйте указаниям обучающего модуля Создание ключей SSH с помощью PuTTY в Windows.

      Шаг 1 — Установка Jupyter Notebook

      Поскольку блокноты используются для записи, запуска и просмотра результатов выполнения небольших фрагментов программного кода, предварительно нужно настроить поддержку языка программирования. Jupyter Notebook использует ядро с привязкой к языкам, компьютерную программу, которая запускает и проводит внутренний анализ кода. В Jupyter Notebook имеется много ядер для разных языков, по умолчанию используется IPython. В этом обучающем модуле вы научитесь настраивать Jupyter Notebook для запуска кода Python через ядро IPython.

      Если вы выполнили обучающие модули, указанные в разделе «Предварительные требования», у вас должны быть установлены Python 3, pip и виртуальная среда. Приведенные в этом руководстве примеры следуют указаниям по конвенции обучающего модуля Python 3, где виртуальной среде присваивается имя my_env, но вы можете использовать любое другое имя.

      Начнем с активации виртуальной среды:

      • source my_env/bin/activate

      После этого в вашей командной строке будет отображаться имя вашей среды в качестве префикса.

      Теперь вы находитесь в виртуальной среде и можете начать установку Jupyter Notebook:

      • python3 -m pip install jupyter

      Если установка выполнена успешна, вы увидите примерно следующий результат:

      Output

      . . . Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2

      Установка Jupyter Notebook на ваш сервер завершена. Теперь мы перейдем к запуску приложения.

      Шаг 2 — Запуск Jupyter Notebook

      Jupyter Notebook необходимо запускать с VPS, чтобы вы могли подключаться к нему с локального компьютера, используя туннель SSH и свой любимый браузер.

      Чтобы запустить сервер Jupyter Notebook, введите следующую команду:

      После запуска команды вы увидите примерно следующий результат:

      Output

      [I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret [I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/sammy/environments [I 19:46:22.365 NotebookApp] 0 active kernels [I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at: [I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser. [C 19:46:22.367 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

      Возможно вы заметили в результатах предупреждение No web browser found. Это можно ожидать, поскольку приложение запущено на сервере, а вы вряд ли установили на него браузер. В следующем разделе этого обучающего модуля вы узнаете, как подключиться к Notebook на сервере, используя туннель SSH.

      Сейчас закройте Jupyter Notebook. Для этого нажмите CTRL+C, затем y, а затем ENTER для подтверждения:

      Output

      Shutdown this notebook server (y/[n])? y [C 20:05:47.654 NotebookApp] Shutdown confirmed [I 20:05:47.654 NotebookApp] Shutting down 0 kernels

      Затем выйдите из сервера, используя команду exit:

      Вы только что запустили Jupyter Notebook на своем сервере. Чтобы получить доступ к приложению и начать работать с блокнотами, вам потребуется подключиться к приложению через туннель SSH и браузер на локальном компьютере.

      Шаг 3 — Подключение к приложению Jupyter Notebook через туннель SSH

      Туннель SSH — простой и быстрый способ подключиться к приложению Jupyter Notebook, запущенному на вашем сервере. Secure Shell (обычно SSH) — это сетевой протокол, позволяющий выполнить защищенное подключение к удаленному серверу по незащищенной сети.

      Протокол SSH включает механизм переадресации портов, позволяющий подключаться через туннель к определенным приложениям на определенном порту сервера с определенного порта на локальном компьютере. Мы научимся выполнять безопасную «переадресацию» приложения Jupyter Notebook на вашем сервере (по умолчанию использует порт 8888) на порт вашего локального компьютера.

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

      Примечание. Приложение Jupyter Notebook можно установить через веб-консоль DigitalOcean, однако подключение к приложению через туннель SSH следует выполнять с помощью терминала или PuTTY.

      Создание туннелей SSH в macOS или Linux

      Если на вашем локальном компьютере используется Linux или macOS, туннель SSH можно создать, запустив всего одну команду.

      ssh — стандартная команда для создания соединения SSH. Когда она используется с директивой -L, вы можете указать перенаправление определенного порта локального хоста (т.е. локального компьютера) на указанный хост и порт удаленного хоста (в данном случае, на ваш сервер). Это означает, что все запускаемое на заданном порту удаленного сервера (8888, порт Jupyter Notebook по умолчанию) будет появляться на заданном порту локального компьютера (8000 в данном примере команды).

      Чтобы создать собственный туннель SSH, запустите следующую команду. Вы можете изменить порт 8000 на любой предпочитаемый порт (например, если порт 8000 используется другим процессом). Рекомендуется использовать порт с номером не меньше 8000, поскольку такие номера портов вряд ли используются другими процессами. Обязательно укажите IP-адрес вашего собственного сервера и имя пользователя сервера без привилегий root:

      • ssh -L 8000:localhost:8888 sammy@your_server_ip

      Если эта команда не выдаст никаких ошибок, вы войдете на удаленный сервер. Там вы должны активировать виртуальную среду:

      • source ~/environments/my_env/bin/activate

      Затем запустите приложение Jupyter Notebook:

      Для подключения к Jupyter Notebook откройте в своем предпочитаемом браузере локальный порт на локальном хосте: http://localhost:8000. После подключения к Jupyter Notebook переходите к шагу 4, чтобы научиться его использовать.

      Создание туннелей SSH с использованием Windows и PuTTY

      PuTTY — клиент SSH с открытым исходным кодом для Windows, который можно использовать для подключения к вашему серверу. После загрузки и установки PuTTY на ваш компьютер Windows (как описано в обучающем модуле из предварительных требований) откройте программу и введите URL или IP-адрес вашего сервера, как показано здесь:

      Введите URL или IP-адрес сервера в Putty

      Затем нажмите + SSH внизу левой панели и нажмите Tunnels (Туннели). В этом окне введите порт, который хотите использовать для доступа к Jupyter на локальном компьютере (8000). Рекомендуется использовать порт с номером не меньше 8000, поскольку такие номера портов вряд ли используются другими процессами. Если порт 8000 используется другим процессом, выберите другой неиспользуемый номер порта. Установите адрес назначения localhost:8888, поскольку порт 8888 — это тот порт, на котором работает Jupyter Notebook. Затем нажмите кнопку Add (Добавить), после чего порты должны появиться в поле Forwarded ports (Перенаправляемые порты):

      Настройте туннель SSH в Putty

      Затем нажмите кнопку Open (Открыть). Ваш компьютер подключится к серверу через SSH и соединит желаемые порты туннелем. Если никаких ошибок не появится, вы можете активировать свою виртуальную среду:

      • source ~/environments/my_env/bin/activate

      Затем запустите Jupyter Notebook:

      Затем откройте в предпочитаемом браузере локальный порт, например http://localhost:8000 (или любой выбранный номер порта), чтобы подключиться к экземпляру Jupyter Notebook, запущенному на сервере. После подключения к Jupyter Notebook переходите к шагу 4, чтобы научиться его использовать.

      Шаг 4 — Использование Jupyter Notebook

      При доступе через браузер Jupyter Notebook предоставляет информационную панель Notebook, которая выступает как обозреватель файлов и дает интерфейс для создания, редактирования и просмотра блокнотов. Эти блокноты следует рассматривать как документы (сохраненные с расширением файла .ipynb), в которых вы заполняете любое количество отдельных ячеек. Каждая ячейка содержит интерактивный текстовый редактор, который можно использовать для запуска кода или записи сгенерированного текста. Кроме того, блокноты позволяют записывать и запускать уравнения, использовать графические элементы (такие как изображения или интерактивные графики), а также их можно экспортировать и публиковать в различных форматах (.ipyb, .pdf, .py). Чтобы проиллюстрировать некоторые из этих функций, мы создадим файл ноутбука из информационной панели Notebook, напишем простую текстовую панель с уравнением и запустим простой код Python 3.

      К этому моменту вы должны были подключиться к серверу через туннель SSH и запустить на сервере приложение Jupyter Notebook. После перехода на адрес http://localhost:8000 вы увидите страницу входа в систему:

      Экран входа в систему Jupyter Notebook

      В поле Password (Пароль) или поле токена сверху введите токен, показываемый в результатах после запуска jupyter notebook на сервере:

      Output

      [I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret [I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/sammy [I 20:35:17.314 NotebookApp] 0 active kernels [I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at: [I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser. [C 20:35:17.316 NotebookApp] . . .

      Также вы можете скопировать URL с экрана терминала и вставить его в адресную строку браузера.

      Jupyter Notebook автоматически покажет все файлы и папки, хранящиеся в каталоге, откуда выполняется запуск. Создайте новый файл блокнота, нажав New (Создать) и выбрав Python 3 в правом верхнем углу информационной панели Notebook:

      Создайте новый блокнот Python3

      В новом блокноте измените первую ячейку так, чтобы она принимала синтаксис разметки. Для этого нажмите Cell > Cell Type > Markdown (Ячейка > Тип ячейки > Разметка) на панели навигации сверху. Помимо разметки этот тип ячейки также позволяет записывать уравнения в LaTeX. Например, введите в ячейку следующее после ее переключения на разметку:

      # Simple Equation
      
      Let us now implement the following equation in Python:
      $$ y = x^2$$
      
      where $x = 2$
      

      Чтобы преобразовать разметку в расширенный текстовый формат, нажмите CTRL + ENTER, и получите следующий результат:

      Превратите образец уравнения в расширенный текст

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

      Теперь выполним простое уравнение и распечатаем результат. Нажмите Insert > Insert Cell Below (Вставка > Вставить ячейку снизу), чтобы вставить ячейку. Введите в новую ячейку следующий код:

      x = 2
      y = x*x
      print(y)
      

      Для запуска кода нажмите CTRL + ENTER и получите следующий результат:

      Решение примера уравнения

      Это довольно простые примеры того, что можно сделать с Jupyter Notebook. Однако это очень мощное приложение, которое можно использовать для самых разных целей. Отсюда вы можете добавить некоторые библиотеки Python и использовать блокнот, как и в любой другой среде разработки Python.

      Заключение

      Теперь вы можете писать воспроизводимый код Python и текст, используя приложение Jupyter Notebook на удаленном сервере. Чтобы пройти быстрый обзор Jupyter Notebook, нажмите Help (Справка) в верхней панели навигации и выберите пункт User Interface Tour (Обзор пользовательского интерфейса), как показано здесь:

      Поиск обзора Jupyter Notebook

      Если вы заинтересовались, вы можете узнать больше о Jupyter Notebook из документации Project Jupyter. Также вы можете использовать полученные в этом обучающем модуле знания, чтобы научиться программировать на Python 3.



      Source link