Как запустить код Python с iPad?

Python GitHub задняя часть Java браузер

На самом деле не только iPad, но и мобильные телефоны.

Болевые точки

Я организовал несколько офлайн-семинаров по программированию, привлекая своих одноклассников к решению проблем обработки данных с помощью Python.

Одним из самых хлопотных является установка операционной среды.

Честно говоря, я тщательно подготовился к семинару.

Например, для интегрированной среды выбрана очень удобная Anaconda.

Код работает на моем компьютере Macbook без проблем. Также у студента Windows 7 запускается без проблем. Это было загружено на Github.

опубликовано вУчебные статьиЯ также написал очень подробную инструкцию по установке пакета.

Также для установки и работы Anaconda, среды выполнения Python, специальная записьвидео.

Тем не менее, проблемы, возникающие на площадке мастерской, по-прежнему разнообразны.

Некоторые из них являются операционными системами. Например, вы можете использовать Windows 10. Честно говоря, я действительно не использовал его. Взглянув на Surface, я даже не могу найти папку Anaconda после установки.

Некоторые кодируют. Различные операционные системы, некоторые китайские кодировки по умолчанию — UTF-8, а некоторые — GBK. Тот же китайский текст, я показываю, здесь все нормально, вы перевираете.

Некоторые из них являются путями пакетов. Прежде чем прийти на семинар, вы, возможно, просмотрели некоторые из моих руководств и установили Anaconda для Python 2.7. Когда вы выходите на сцену, как только вам нужна версия Python 3.6, вы устанавливаете новую. В результате вы не можете сказать, какой пакет запускает команду Python, pip или где установлен пакет. Добавьте это к конфигурации виртуальной среды, и вы сойдете с ума.

Есть даже проблемы с перегрузкой сети. Потому что иногда необходимо установить и вызвать громоздкий пакет программ на месте, десятки компьютеров «готовятся — все вместе» конкурируют за ограниченную пропускную способность Wi-Fi, и последствия можно себе представить.

После болезненных угрызений совести я решил изменить статус-кво.

Текущее руководство предоставляет только базовый исходный код. Для многих начинающих студентов этого недостаточно.

Многие студенты встали на путь установки зависимых программных пакетов, а затем просто сдались.

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

Но как яПреподавание МООК, что самое важное?«Как упоминалось в статье, в процессе обучения,Обратная связьсамое важное.

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

Исходя из этого, вы также должны иметь возможность изменять код и сравнивать разницу между результатами до и после выполнения.

Я должен предоставить вам непосредственно рабочую среду.

Нулевая установка, и естественно вышеупомянутые неприятности ушли.

Это возможно?

Я провел небольшое исследование, без проблем.

Если на вашем устройстве установлен современный браузер (включая, помимо прочего, Google Chrome, Firefox, Safari, Microsoft Edge и т. д.),

IE 8.0?

Это не работает, поторопитесь и обновите его!

Прочитав это, вы должны были это понять. Поскольку вы выбираете только браузер, а не операционную систему, вы можете запустить код, даже если вы используете iPad, не говоря уже о Windows 10.

пытаться

Пожалуйста, откройте браузер и введитеэта ссылка(http://he.cai/R35FeLV).

Видишь, что происходит?

Я покажу вам здесь с iPad.

В начале будет стартовый интерфейс. Пожалуйста, подождите 10 секунд.

Затем вы можете увидеть знакомый интерфейс запуска кода Python.

Этот интерфейс от Jupyter Lab.

Вы можете понять это как Jupyter NotebookРасширенное издание, который имеет следующие характеристики:

  • Блок кода непосредственно перетаскивается мышью;
  • Вкладка браузера, которая может открывать несколько ноутбуков и использовать разные ядра соответственно;
  • Предоставляет редактор Markdown с рендерингом в реальном времени;
  • полноценный файловый браузер;
  • Краткий обзор файлов данных CSV
  • ...

Левая колонка на рисунке показывает все файлы в рабочем каталоге.

Справа открыт файл ipynb, который мы хотим использовать.

Чтобы доказать, что это не шутка, нажмите кнопку запуска на панели инструментов над кодом справа.

Один щелчок запустит результаты текущей единицы кода.

Продолжайте нажимать вниз, и вы увидите, что результаты отображаются как обычно.

Даже изображения отображаются нормально.

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

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

Просто позвольте Python вывести ваше имя.

Если вас зовут Чак, напишите так:

print("Hello, Chuck!")

Замените его своим именем и посмотрите, правильный ли вывод?

На самом деле, это больше, чем просто iPad?

Если вы достаточно смелы (санг) для (син), чтобы попытаться (бинг), чтобы попытаться (куан), мобильный телефон на самом деле подойдет.

нравится.

Процесс

Расскажу, как достигается этот эффект.

Нам нужно использовать инструмент под названием mybinder. Это может помочь нам быстро преобразовать репозиторий кода (репозиторий) на github в работоспособную среду.

Обратите внимание, что mybinder предоставляет нам облачные средства, а именно вычислительные ресурсы и ресурсы хранения. Поэтому, даже если многие пользователи одновременно используют одну и ту же перекодированную среду онлайн, они не будут конфликтовать друг с другом.

Давайте сначала посмотрим, как подготовить репозиторий кода, который может быть успешно преобразован с помощью mybinder.

Образец, который я вам даю,здесь(t.cn/R35MEqk):

Кстати, этот пример из одной из моих серий руководств по науке о данных.Как обрабатывать естественный язык с помощью Python? (Spacy и встраивание слов)". Заинтересованные студенты могут щелкнуть ссылку, чтобы просмотреть исходный текст.

В списке файлов, отображаемых на этой странице GitHub, вам нужно обратить внимание на следующие 3 файла:

  • demo.ipynb
  • environment.yml
  • postBuild

вdemo.ipynbЭто файл Jupyter Notebook, который вы видели в предыдущем разделе и который содержит исходный код. Вам необходимо установить соответствующие пакеты локально и запустить тесты для прохождения.

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

environment.ymlЭтот файл очень важен, он сообщает mybinder, как подготовить среду для запуска вашего кода.

Откроем его и посмотрим содержимое файла:

dependencies:
  - python=3
  - pip:
    - spacy
    - ipykernel
    - scipy
    - numpy
    - scikit-learn
    - matplotlib
    - pandas
    - thinc

Этот файл сначала сообщает mybinder вашу версию Python. Мы используем версию 3.6. Так что просто укажитеpython=3Вот и все. mybinder автоматически загрузит и установит для вас последнюю версию.

Затем в этом файле указывается, какие пакеты необходимо установить с помощью инструмента pip. Нам нужно перечислить все зависимые установочные пакеты.

Это этапы подготовки, которые я всегда показываю вам в предыдущих уроках.

Но это еще не все, потому что mybinder просто устанавливает для вас некоторые программные зависимости.

Здесь нужно позаботиться еще о двух шагах:

  • Чтобы проанализировать семантику, нам нужно вызвать предварительно обученную модель Word2vec, которая требует, чтобы mybinder загрузил ее для нас заранее.
  • После того, как Jupyter Notebook открыт, имя ядра, которое следует использовать, — wangshuyi, которое еще не было зарегистрировано в Jupyter. Нам нужен mybinder, чтобы сделать это за нас.

Для того, чтобы выполнить два вышеуказанных шага, вам необходимо подготовить последнийpostBuildдокумент.

Его содержание следующее:

python -m spacy download en
python -m spacy download en_core_web_lg
python -m ipykernel install --user --name=wangshuyi

То же, что и его название. это в mybinder в соответствии сenvironment.ymlКоманды, которые должны выполняться последовательно после установки зависимых компонентов. Если вашему коду нужны другие команды для обеспечения поддержки среды, вы также можете поместить их сюда.

На этом ваши приготовления закончены.

Магическое шоу официально начинается.

пожалуйста, откройте мою папкуURL-адрес(mybinder.org/).

В столбце «Репозиторий GitHub или URL» заполните ссылку на наш репозиторий кода github, а именно:

https://github.com/wshuyi/demo-spacy-text-processing

Мы хотим, чтобы он открывался автоматически, как только мы заходим в интерфейс.demo.ipynb, поэтому необходимо заполнить графу "Путь к файлу блокнота (необязательно)"demo.ipynb.

На этом этапе вы найдете URL-адрес среды выполнения вашего кода в столбце «Скопируйте URL-адрес ниже и поделитесь своим Binder с другими:».

https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb

Нажмите кнопку «Копировать» справаспастив свой блокнот. Вам решать, как найти преобразованную операционную среду в будущем.

После того, как вы благополучно сохранили адрес, нажмите кнопку «Запустить».

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

Каждый раз, когда вызов будет выполняться в будущем, он будет очень быстрым.

После завершения сборки mybinder автоматически откроет для нас соответствующую среду выполнения.

Это большое чувство достижения!

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

Но ты узнаешь, что это не так!

Учитель, то, что вы только что показали с iPad, не является ли это расширенной версией Jupyter Lab? Как он снова стал Jupyter Notebook?

Я тоже хочу премиум версию!

Не волнуйтесь.

Взгляните на ваш текущий адрес ссылки:

https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?filepath=demo.ipynb

Вам просто нужно сделать небольшую настройку, в которой:

?filepath=

Заменить:

?urlpath=lab/tree/

Замененная ссылка:

https://mybinder.org/v2/gh/wshuyi/demo-spacy-text-processing/master?urlpath=lab/tree/demo.ipynb

Введите его в браузер и посмотрите результат:

Сейчас все в порядке?

принцип

Вы думаете, что mybinder очень техничный?

На самом деле, это не считается.

Он просто связывает несколько существующих технологий.

Вероятно, это пример «инновации строительных блоков».

Давайте посмотрим на описание mybinder:

Видно, что наиболее критической технологией является использование докера.

Что такое Докер?

Проще говоря, Docker — это инструмент для обеспечения бесперебойного выполнения одного и того же кода на разных платформах.

Вы немного сомневаетесь, не означает ли это Java?

Верно, лозунг Java — один раз написал — работай везде.

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

Однако, если вы регулярно используете инструменты, разработанные на Java, вы должны знать, в чем заключаются болевые точки.

По крайней мере, у вас должен быть некоторый опыт работы со скоростью Java-программ.

На изображении выше виртуальная машина находится слева, а Docker — справа.

Docker не только более эффективен, чем виртуальная машина Java, но также поддерживает более одного языка программирования.

Что касается других преимуществ, мы не будем расширяться. Иначе звучит как реклама.

На самом деле работа по конвертации репозитория кода github в образ докера (образ) выполняется не самим mybinder.

Он вызывает другой инструмент под названиемrepo2docker(GitHub.com/Fearing Intel/Горячие комментарии…).

И ваш браузер может выполнять код Python, потому что Jupyter Notebook (или Lab) изначально построен на структуре «Браузер/Сервер» (Browser/Server, B/S).

Если вы установили Anaconda на свой локальный компьютер, вы можете выполнить этот оператор локально:

jupyter lab

Что появится?

Да, он запускает сервер, затем открывает ваш браузер и связывается с сервером.

Такая конструкция самого Jupyter делает его крайне удобным для расширения.

Независимо от того, работает ли сервер Jupyter на вашем локальном ноутбуке или в компьютерном зале на другом континенте, выполнение кода Python не имеет для вас существенного значения.

Кроме того, если вы думаете, что mybinder позволяет запускать код Python только в браузере, не смотрите на него свысока.

Учащиеся, изучавшие R, нажмитеэта ссылка(t.cn/R3JLY2S), чтобы увидеть, какие сюрпризы появятся.

резюме

Подводя итог, эта статья говорит вам следующее:

  • Как использовать mybinder для преобразования репозитория github в среду выполнения Jupyter Lab одним щелчком мыши;
  • Как запускать среду, писать, выполнять и модифицировать код в браузерах различных операционных систем;
  • Введение в докер, герой mybinder, конвертирующий репозиторий github.

Я надеюсь, что вы можете придумать нечто большее, чем просто это простое использование.

Вот несколько вопросов для размышления:

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

Жду ваших выводов и интересных и содержательных нововведений.

обсуждать

Каково это запускать код Python на iPad? Пользовались ли вы подобными продуктами? Как вы думаете, какие еще интересные сценарии применения этой технологии можно использовать в повседневной работе и учебе? Добро пожаловать, чтобы оставить сообщение, поделиться своим опытом и мыслями со всеми, мы обменяемся и обсудим вместе.

Если вам интересна моя статья, ставьте лайк, а также подписывайтесь на мой публичный аккаунт в WeChat и закрепляйте его."Юшу Жилан" (nkwangshyi).

Если эта статья может быть полезна вашим родственникам и друзьям, вы также можете поделиться ею с ними через Weibo или Moments. Привлекайте их к нашим совместным обсуждениям.

дальнейшее чтение

Как эффективно начать работу с наукой о данных?