One place for hosting & domains

      Jupyter

      Como configurar o Jupyter Notebook com o Python 3 no Ubuntu 20.04 e se conectar via protocolo de tunelamento SSH


      Introdução

      O Jupyter Notebook é um aplicativo Web de código aberto que permite que você crie e compartilhe códigos interativos, visualizações, e mais. Essa ferramenta pode ser usada com várias linguagens de programação, incluindo o Python, Julia, R, Haskell, e Ruby. Muitas vezes, ele é usado para trabalhar com dados, modelagem estatística e machine learning.

      Jupyter Notebooks (ou apenas “Notebooks”) são documentos produzidos pelo app Jupyter Notebook, que contêm tanto códigos de computador quanto elementos de rich text (parágrafos, equações, figuras, links, etc.) que ajudam na apresentação e compartilhamento de pesquisa reprodutível. Sendo assim, eles podem ser uma ferramenta excelente para se usar em apresentações baseadas em dados ou programação, ou como uma ferramenta de ensino.

      Este tutorial irá guiá-lo na configuração do Jupyter Notebook para ser executado a partir de um servidor Ubuntu 20.04, bem como demonstrar como se conectar e usar o notebook de uma máquina local via tunelamento. Ao final deste guia, você será capaz de executar código em Python 3 usando o Jupyter Notebook em execução em um servidor remoto.

      Pré-requisitos

      Para completar este guia, você deve ter uma nova instância de servidor Ubuntu 20.04 com um firewall básico e um usuário não root com privilégios sudo configurados. Você pode aprender como configurar isso examinando nosso guia de configuração inicial de servidor.

      Passo 1 — Configurando o Python

      Para começar o processo, instalaremos as dependências que precisamos para o nosso ambiente de programação Python dos repositórios Ubuntu. O Ubuntu 20.04 vem pré-instalado com o Python 3. Usaremos o gerenciador de pacotes do Python para instalar componentes adicionais um pouco mais tarde.

      Primeiro, precisamos atualizar o índice de pacotes local apt e, em seguida, baixar e instalar os pacotes:

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

      • sudo apt install python3-pip python3-dev

      Agora, podemos continuar para a configuração de um ambiente virtual Python onde instalaremos o Jupyter.

      Passo 2 — Criar um ambiente virtual Python para o Jupyter

      Agora que temos o Python 3, seus arquivos de cabeçalho e o pip prontos para uso, podemos criar um ambiente virtual Python para gerenciar nossos projetos. Vamos instalar o Jupyter neste ambiente virtual.

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

      Atualize pip e instale o pacote digitando:

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

      O sinalizador -H garante que a política de segurança aloca a variável de ambiente home no diretório home do usuário de destino.

      Com o virtualenv instalado, podemos começar a formar nosso ambiente. Crie um diretório onde possamos manter nossos arquivos do projeto e vá até ele: Vamos chamá-lo de my_project_dir, mas você deve usar um nome que tenha significado para você e para aquilo no que está trabalhando.

      • mkdir ~/my_project_dir
      • cd ~/my_project_dir

      Dentro do diretório do projeto, vamos criar um ambiente virtual Python. Para os fins deste tutorial, vamos chamá-lo de my_project_env, mas você deve chamá-lo de algo que seja relevante para o seu projeto.

      • virtualenv my_project_env

      Isso criará um diretório chamado my_project_env dentro do seu diretório my_project_dir. Lá dentro, ele instalará 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 my_project_env/bin/activate

      Seu prompt deverá mudar para indicar que você agora está operando em um ambiente virtual Python. Agora, você verá em seu prompt de comando algo parecido com isto: (my_project_env)user@host:~/my_project_dir$.

      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 for ativado (quando seu prompt tiver (my_project_env) antecedendo-o) use o pip em vez do pip3, mesmo se estiver usando o Python 3. A cópia da ferramenta do ambiente virtual é sempre chamada de pip, independentemente da versão do Python.

      Até aqui, você instalou todos os softwares necessários para executar o Jupyter. Agora, podemos iniciar o servidor Notebook.

      Passo 4 — Executando o Jupyter Notebook

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

      Um registro 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ê executar geralmente usará a porta 8888. Para verificar em qual número de porta específico o Jupyter Notebook está em execução, consulte o resultado 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/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

      Se estiver executando o Jupyter Notebook em um computador local (não em um servidor), você pode acessar o URL exibido para se conectar ao Jupyter Notebook. Se estiver executando o Jupyter Notebook em um servidor, você precisará se conectar ao servidor usando o protocolo de tunelamento SSH, como descrito na próxima seção.

      Neste ponto, você pode manter a conexão via protocolo SSH aberta e manter o Jupyter Notebook em execução, ou pode sair do app e executá-lo novamente assim que configurar o protocolo de tunelamento SSH. Vamos optar por parar o processo do Jupyter Notebook. Vamos executá-lo novamente assim que tivermos o protocolo de tunelamento SSH configurado. Para parar o processo do Jupyter Notebook, pressione CTRL+C, digite Y, e, em seguida, ENTER para confirmar. O seguinte resultado 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 — Conectando-se ao servidor usando o protocolo de tunelamento SSH

      Nesta seção, vamos demonstrar como se conectar à interface Web do Jupyter Notebook usando o protocolo de tunelamento SSH. Como o Jupyter Notebook será executado em uma porta específica no servidor (como :8888, :8889, etc.), o tunelamento SSH permite que você se conecte à porta do servidor com segurança.

      As duas subseções a seguir descrevem como criar um túnel SSH a partir de 1) um Mac ou Linux, ou 2) Windows. Por favor, consulte a subsecção referente ao seu computador local.

      Protocolo de tunelamento SSH com um Mac ou Linux

      Se estiver usando um computador local do Mac ou Linux, os passos para a criação de um túnel SSH são semelhantes a usar o SSH para fazer login em seu servidor remoto. Apenas haverão alguns parâmetros adicionais no comando ssh. Esta subsecção irá mostrar os parâmetros adicionais necessários no comando ssh para estabelecer o tunelamento com sucesso.

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

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

      O comando ssh abre uma conexão via protocolo SSH, mas -L especifica que a porta em questão no host (cliente) local será enviada ao host e porta em questão no lado remoto (server). Isso significa que tudo que esteja em execução no segundo número de porta (por exemplo, 8888) no servidor aparecerá no primeiro número de porta (por exemplo, 8888) em seu computador local.

      Se precisar, altere a porta 88 para outra de sua escolha para evita usar uma porta que já esteja em uso por outro processo.

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

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

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

      Se nenhum erro aparecer após executar o comando ssh -L, vá para seu ambiente de programação e execute o Jupyter Notebook:

      Você receberá um resultado com um URL. A partir de um navegador Web em sua máquina local, abra a interface Web do Jupyter Notebook com o 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 de token quando solicitado em http://localhost:8888.

      Protocolo de tunelamento SSH com Windows e Putty

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

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

      Definir nome de host para o túnel SSH

      Em seguida, clique em SSH no final do painel esquerdo para expandir o menu e, depois disso, clique em Tunnels. Digite o número da porta local que você deseja usar para acessar o Jupyter em sua máquina local. Escolha 8000 ou maior para evitar portas usadas por outros serviços, e defina o destino como localhost:8888 onde o :8888 é o número da porta em que o Jupyter Notebook está em execução.

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

      Lista de portas encaminhadas

      Por fim, clique no botão Open para se conectar ao servidor via SSH e aplicar o tunelamento nas portas desejadas. Vá para http://localhost:8000 (ou qualquer porta que você tenha escolhido) em um navegador Web para se conectar ao Jupyter Notebook em execução no servidor. Certifique-se de que o número do token esteja incluído, ou digite a string do número de token quando solicitado em http://localhost:8000.

      Passo 6 — Usando o Jupyter Notebook

      Esta seção aborda o básico do uso do Jupyter Notebook. Se você ainda não tiver o Jupyter Notebook em execução, inicie-o com o comando jupyter notebook.

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

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

      Criar um novo notebook Python 3

      Isso abrirá um Notebook. Agora, podemos executar o código Python na célula ou alterar a célula 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 após 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 as teclas CTRL e ENTER. Você deve receber um resultado similar ao seguinte:

      Resultados do 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, em seguida, pressione as teclas ALT e ENTER juntas 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 seguinte resultados:

      Resultados da primeira equação

      Agora, você é capaz de importar módulos e usar o Notebook como faria com qualquer outro ambiente de desenvolvimento do Python.

      Conclusão

      Parabéns! Agora, você deve conseguir escrever um código Python reprodutível e notas em Markdown usando o Jupyter Notebook. Para um tour rápido pelo Jupyter Notebook de dentro da interface, selecione Help > User Interface Tour no menu de navegação superior para aprender mais.

      A partir daqui, você pode iniciar um projeto de análise de dados e visualização lendo Análise de dados e a visualização com o pandas e o Jupyter Notebook em Python 3.



      Source link

      Настройка Jupyter Notebook с помощью Python 3 в Ubuntu 20.04 и подключение через туннель SSH


      Введение

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

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

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

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

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

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

      Для начала процесса настройки мы установим зависимости, которые нам потребуется для нашей среды программирования Python, из репозиториев Ubuntu. В Ubuntu 20.04 предустанавлен Python 3. Немного позднее мы используем диспетчер пакетов 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

      How To Set Up Jupyter Notebook with Python 3 on Ubuntu 20.04 and Connect via SSH Tunneling


      Introduction

      Jupyter Notebook is an open-source web application that lets you create and share interactive code, visualizations, and more. This tool can be used with several programming languages, including Python, Julia, R, Haskell, and Ruby. It is often used for working with data, statistical modeling, and machine learning.

      Jupyter Notebooks (or just “Notebooks”) are documents produced by the Jupyter Notebook app which contain both computer code and rich text elements (paragraph, equations, figures, links, etc.) which aid in presenting and sharing reproducible research. They can therefore be an excellent tool to use for data-driven or programming-based presentations, or as a teaching tool.

      This tutorial will walk you through setting up Jupyter Notebook to run from an Ubuntu 20.04 server, as well as demonstrate how to connect to and use the notebook from a local machine via tunnelling. By the end of this guide, you will be able to run Python 3 code using Jupyter Notebook running on a remote server.

      Prerequisites

      In order to complete this guide, you should have a fresh Ubuntu 20.04 server instance with a basic firewall and a non-root user with sudo privileges configured. You can learn how to set this up by running through our initial server setup tutorial.

      Step 1 — Set Up Python

      To begin the process, we’ll install the dependencies we need for our Python programming environment from the Ubuntu repositories. Ubuntu 20.04 comes preinstalled with Python 3. We will use the Python package manager pip to install additional components a bit later.

      We first need to update the local apt package index and then download and install the packages:

      Next, install pip and the Python header files, which are used by some of Jupyter’s dependencies:

      • sudo apt install python3-pip python3-dev

      We can now move on to setting up a Python virtual environment into which we’ll install Jupyter.

      Step 2 — Create a Python Virtual Environment for Jupyter

      Now that we have Python 3, its header files, and pip ready to go, we can create a Python virtual environment to manage our projects. We will install Jupyter into this virtual environment.

      To do this, we first need access to the virtualenv command which we can install with pip.

      Upgrade pip and install the package by typing:

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

      The -H flag ensures that the security policy sets the home environment variable to the home directory of the target user.

      With virtualenv installed, we can start forming our environment. Create and move into a directory where we can keep our project files. We’ll call this my_project_dir, but you should use a name that is meaningful for you and what you’re working on.

      • mkdir ~/my_project_dir
      • cd ~/my_project_dir

      Within the project directory, we’ll create a Python virtual environment. For the purpose of this tutorial, we’ll call it my_project_env but you should call it something that is relevant to your project.

      • virtualenv my_project_env

      This will create a directory called my_project_env within your my_project_dir directory. Inside, it will install a local version of Python and a local version of pip. We can use this to install and configure an isolated Python environment for Jupyter.

      Before we install Jupyter, we need to activate the virtual environment. You can do that by typing:

      • source my_project_env/bin/activate

      Your prompt should change to indicate that you are now operating within a Python virtual environment. Your command prompt will now read something like this: (my_project_env)user@host:~/my_project_dir$.

      At this point, you’re ready to install Jupyter into this virtual environment.

      Step 3 — Install Jupyter

      With your virtual environment active, install Jupyter with the local instance of pip.

      Note: When the virtual environment is activated (when your prompt has (my_project_env) preceding it), use pip instead of pip3, even if you are using Python 3. The virtual environment’s copy of the tool is always named pip, regardless of the Python version.

      At this point, you’ve successfully installed all the software needed to run Jupyter. We can now start the Notebook server.

      Step 4 — Run Jupyter Notebook

      You now have everything you need to run Jupyter Notebook! To run it, execute the following command:

      A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first Notebook you run will usually use port 8888. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:

      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

      If you are running Jupyter Notebook on a local computer (not on a server), you can navigate to the displayed URL to connect to Jupyter Notebook. If you are running Jupyter Notebook on a server, you will need to connect to the server using SSH tunneling as outlined in the next section.

      At this point, you can keep the SSH connection open and keep Jupyter Notebook running or you can exit the app and re-run it once you set up SSH tunneling. Let’s choose to stop the Jupyter Notebook process. We will run it again once we have SSH tunneling set up. To stop the Jupyter Notebook process, press CTRL+C, type Y, and then ENTER to confirm. The following output will be displayed:

      Output

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

      We’ll now set up an SSH tunnel so that we can access the Notebook.

      Step 5 — Connect to the Server Using SSH Tunneling

      In this section we will demonstrate how to connect to the Jupyter Notebook web interface using SSH tunneling. Since Jupyter Notebook will run on a specific port on the server (such as :8888, :8889 etc.), SSH tunneling enables you to connect to the server’s port securely.

      The next two subsections describe how to create an SSH tunnel from 1) a Mac or Linux, or 2) Windows. Please refer to the subsection for your local computer.

      SSH Tunneling with a Mac or Linux

      If you are using a Mac or Linux local computer, the steps for creating an SSH tunnel are similar to using SSH to log in to your remote server, except that there are additional parameters in the ssh command. This subsection will outline the additional parameters needed in the ssh command to tunnel successfully.

      SSH tunneling can be done by running the following SSH command in a new local terminal window:

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

      The ssh command opens an SSH connection, but -L specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side (server). This means that whatever is running on the second port number (e.g. 8888) on the server will appear on the first port number (e.g. 8888) on your local computer.

      Optionally change port 8888 to one of your choosing to avoid using a port already in use by another process.

      server_username is your username (e.g. sammy) on the server which you created and your_server_ip is the IP address of your server.

      For example, for the username sammy and the server address 203.0.113.0, the command would be:

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

      If no error shows up after running the ssh -L command, you can move into your programming environment and run Jupyter Notebook:

      You’ll receive output with a URL. From a web browser on your local machine, open the Jupyter Notebook web interface with the URL that starts with http://localhost:8888. Ensure that the token number is included, or enter the token number string when prompted at http://localhost:8888.

      SSH Tunneling with Windows and Putty

      If you are using Windows, you can create an SSH tunnel using Putty.

      First, enter the server URL or IP address as the hostname as shown:

      Set Hostname for SSH Tunnel

      Next, click SSH on the bottom of the left pane to expand the menu, and then click Tunnels. Enter the local port number you want to use to access Jupyter on your local machine. Choose 8000 or greater to avoid ports used by other services, and set the destination as localhost:8888 where :8888 is the number of the port that Jupyter Notebook is running on.

      Now click the Add button, and the ports should appear in the Forwarded ports list:

      Forwarded ports list

      Finally, click the Open button to connect to the server via SSH and tunnel the desired ports. Navigate to http://localhost:8000 (or whatever port you chose) in a web browser to connect to Jupyter Notebook running on the server. Ensure that the token number is included, or enter the token number string when prompted at http://localhost:8000.

      Step 6 — Using Jupyter Notebook

      This section goes over the fundamentals of using Jupyter Notebook. If you don’t currently have Jupyter Notebook running, start it with the jupyter notebook command.

      You should now be connected to it using a web browser. Jupyter Notebook is a very powerful tool with many features. This section will outline a few basic features to get you started using the Notebook. Jupyter Notebook will show all of the files and folders in the directory it is run from, so when you’re working on a project make sure to start it from the project directory.

      To create a new Notebook file, select New > Python 3 from the top right pull-down menu:

      Create a new Python 3 notebook

      This will open a Notebook. We can now run Python code in the cell or change the cell to markdown. For example, change the first cell to accept Markdown by clicking Cell > Cell Type > Markdown from the top navigation bar. We can now write notes using Markdown and even include equations written in LaTeX by putting them between the $$ symbols. For example, type the following into the cell after changing it to markdown:

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

      To turn the markdown into rich text, press the CTRL and ENTER keys. You should receive output similar to the following:

      results of markdown

      You can use the markdown cells to make notes and document your code. Let’s implement that equation and print the result. Click on the top cell, then press the ALT and ENTER keys together to add a cell below it. Enter the following code in the new cell.

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

      To run the code, press CTRL+ENTER. You’ll receive the following results:

      first equation results

      You now have the ability to import modules and use the Notebook as you would with any other Python development environment!

      Conclusion

      Congratulations! You should now be able to write reproducible Python code and notes in Markdown using Jupyter Notebook. To get a quick tour of Jupyter Notebook from within the interface, select Help > User Interface Tour from the top navigation menu to learn more.

      From here, you can begin a data analysis and visualization project by reading Data Analysis and Visualization with pandas and Jupyter Notebook in Python 3.



      Source link