こんにちは。現役エンジニアの”はやぶさ”@Cpp_Learningです。 WSL2 + Docker + VS Code の Remote – Containers のPython開発環境が最高だったので、構築方法と実践チュートリアルを紹介します。
Dockerコンテナ上で実行されているpythonプログラムでもステップ実行(リモートデバッグ)できれば開発効率が向上します。 Visual Studio Code(VSCode)と「ptvsd」というMicrosoftが開発するリモートデバッグ用ライブラリを組み合わせるとそれが可能になるので、その環境を構築してみました。 私の環境は以下の通りです。 構成 環境 バージョン ローカル側 (DockerホストOS) MacOS 10.13.2 Docker for Mac 17.12.0-ce-mac49 VSCode 1.20.1 VSCodeの拡張機能「Python」 2018.1.0 リモート側 (DockerゲストOS) AlpineOS 3.7.0 Python 3.6.4 ptvsd 3.0.0 Docker for Macなどで、Dockerコンテナをローカルマシンで起動できる
はじめに Python の学習を始めるにあたり、手頃なお題を探していました。 Docker Engine API を利用すると、各種コードからコンテナが起動出来るということを docker docs - SDKs for Docker Engine API で知り 試しに動かしてみようと思いました。 なお、筆者は Python 初心者であるため 記述内容に不備などあれば、ご指摘頂けますと幸いです。 事前作業 Docker SDK for Python は、Python Package Index (PyPI) で パッケージとして提供されているため、pip でインストール出来ます。 以下のコマンドにて、予めインストールしておいてください。 なお、筆者の環境は macOS Sierra(10.12.4) です。 $ sudo pip install docker はじめてみよう 以下のドキュ
仕様 ターミナルからcurlコマンドでjsonデータを送ると, 文字列が成型されて, 同じくjson形式でデータが返ってくる. 環境 Mac OS X 10.12 Docker for Mac 17.03 多分Linuxでも同様にできます. 1. Flask起動スクリプトの用意 Pythonの軽量WebフレームワークであるFlaskをつかって作成します. @app.route()で指定されたディレクトリにアクセスすると, defで定義したメソッドが起動し, returnで結果を返す, という流れです. from flask import Flask, jsonify, request import json app = Flask(__name__) @app.route("/", methods=['GET']) def hello(): return "Hello World!" @a
oceanusではPythonで書いたアプリケーションをDockerで動かしています。 Dockerを使ったアプリケーションでは、コンテナごとに変わる可能性がある変数は、DockerfileでENVを使って、環境変数にセットして、プログラム側でそれを読み込んで使えます。 しかし、Pythonで書かれた設定ファイルで、dict型だったり入れ子になったリストやタプル、CPUのコア数な動的に変更されるような変数は、環境変数での管理は難しくなります。 そこで、どの設定ファイル読み込むか、ENVで切り替えられるように作る必要があります。 もう少し詳しく言うと設定ファイルを、取得した環境変数を使って動的に読み込んで、さらに内容を展開する必要があります。 Djangoのsettings.pyを起動時に指定できるのも同じでしょうか(未確認)。 共通に読み込む設定ファイルを作る 当たり前ですが設定ファイルは
とりあえずすぐ動く!Dockerを使い、Python3, Flask, MySQL開発環境を構築する!MySQLFlaskDockerPython3 はじめに 「優しいIT」という理念の基、ITコンサルタントをしている亀井亮介と申します! 主な仕事は要求分析・要件定義の上流工程から、開発のマネジメントまでしていますが、プライベートでウェブシステム開発をしています! 目的 細かい説明は抜きにして、Git cloneし、"docker-compose up -d"するだけで、Python3, Flask, MySQL開発環境を構築します! Dockerをインストールしていることが、前提となります! 「とりあえず動くところが見たい!」というせっかちな(私のような)方は、「1. 動作するまでの手順」を見てくださいね! 2章以降は、各項目の説明をしています! Githubにファイルを上げているので、
インストールされているライブラリ 今後、他のライブラリのインストールやバージョンアップなどをしていくつもりですが、現状以下のライブラリがインストールされています。 tensorflow 0.12.0chainer 1.19.0scikit-learn 0.18.1gensim 0.13.4word2vec 0.9.1numpy 1.11.3pandas 0.19.2jupyter 4.2.1matplotlib 1.5.3mecab latestjuman++ 7.01 もちろん、上記の依存ライブラリやmecab・juman++用のPythonバインディングもインストールされています。 ちなみにOSはUbuntu 16.04です。 使い方 Pullとコンテナにログイン やり方は以下のコマンドのとおりです。jupyter notebookのパスワードもsudoのパスワードも”ml”になってい
はじめに コマンドライン起動系のPythonのプロジェクトを定期実行やサービス化して様々な環境で安定して実行させたい場合、やはりDocker化するという選択肢があります。最近、私なりにその方法が固まってきたので共有します。 今回 コマンドライン起動系と書いているのは「Web系」の場合は少し違うかもな、と思ったからです。Pythonは 自分で使いたいVersionと OSに含まれるバージョンが競合したり、ライブラリのInstallが結構大変だったりするので(pipあまり賢くない...)、Docker化してリリースするのはかなり有効に思えます。 個人的要求 git にpushしたりすることなくコンテナ化したい コンテナ化にかかる時間は最小限にしたい 環境情報や鍵情報は実行時に指定したい Version Docker for Mac: Version 1.13.0-rc4-beta34.1 (1
DockerでPythonの実行環境を作ったメモ 概要 自分が書いた統計方面のコードをあちこちに持ち回して動かす必要が出てきたので、Dockerを利用する。 本稿はUbuntu(開発機)でDockerをインストールして必要な環境を整え、CentOS(検証機)上で動かした際の手順とその他調べたことをメモしたもの。 インストール(Ubuntu) Ubuntuへのインストール。apt-getでそのまま入ることは入るけど、既にサポート切れのバージョンが入ってしまうらしい。なのでレポジトリを追加して入れる。 インストール方法はこちらを参照した。 $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates $ sudo apt-key adv --keyserver hkp://p80.pool.sk
November 27, 2016, 01:00 Once upon a time I and my friend decided to write an application that helps us doing code kata. The first problem that we faced was how to run a code provided by the user in a safe manner so our server won't be destroyed. After giving it some thought I decided to write a prototype of an application that runs the code inside Docker container which is immediately destroyed a
はじめに 当記事はdocker、python、uwsgi、djangoについて、それぞれ単体ならばある程度扱える方を対象にしています。 目的 dockerコンテナとして一つのアプリケーションコンテナを作成し、そこに複数のアプリケーションをデプロイしたい。 アプリケーションごとにpythonのバージョンを切り替えたい Dockerfileをほぼフルスクラッチかつなるべく楽にやりたい 手法 以下の手法により実現しました。 ./ ├── Dockerfile ├── data │ ├── hogehogeapp1 │ │ ├── hogehogeapp1 │ │ │ └──wsgi.py │ │ ├── data │ │ ├── db.sqlite3 │ │ └── manage.py │ ├── hogehogeapp2 │ │ ├── hogehogeap
3行まとめ $(jupyter --data-dir)../../と$(jupyter --config-dir)/nbconfigをvolumeとして永続化・マウント lambdalisue/jupyter-vim-bindingを配置 $(jupyter --config-dir)/nbconfig/notebook.jsonでvim_binding読み込み はじめに 本記事ではDockerコンテナで動作しているJupyter Notebook上で,vim_bindingを利用しVimのKeybindを有効にする方法について説明する. Jupyter Notebookについて本記事では説明を省略する.その素晴らしさ,および使い方等については『現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ』『Jupyter事始め - Qiit
概要 Dockerで起動したPythonのコンテナから MySQLのコンテナを利用する際に色々ハマったのでまとめます。 環境 ホスト Docker for Macのパブリックベータ版 docker-composeを使用して以下のゲストOSを起動 ゲスト MySQLの公式イメージ Pythonの公式イメージ(3.5.2-alpineを使用) Flaskアプリケーションで、SQLAlchemyを通してMySQLにアクセス ハマったこと 1. mysqlコマンドが見当たらず、コマンドラインで接続できない Dockerを利用して開発を行う場合 コンテナの軽量化のためにAlpine Linuxを使うケースは多いと思います。 軽量で起動が早い一方で、多くのコマンドを自身でインストールする必要があります。 Alpine Linux製のコンテナからコマンドラインでMySQLコンテナに接続する際に もちろん
2016 - 06 - 13 Python3でのSIGNAL受信時の挙動が実行するコンテナイメージで変わる罠 Docker Python Dockerこのやろう!と思ったけど、実はDockerさん悪くなかった。 PythonやJavaなどはバージョンさえ同じであれば、ホスト実行でもコンテナ実行でも挙動は変わらないものだと思っていたのだが、コンテナイメージによって挙動が変わる場合があるというのは知らんかったのでメモ。 環境 コンテナ実行環境は以下。 OS Ubuntu 14.04 LTS Docker 1.11.1 コンテナで実行するコンテナイメージは公式で提供されている以下の2パターン https://hub.docker.com/_/python/ イメージ OS Python python:latest Debian(8.4) 3.5.1 python:3-alpine Alpine
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 📜 要約 コンテナー管理ソフトウェアのDockerを利用することで、データ分析の場面で利用頻度の高いRおよびPythonの分析環境として実行することが出来るRStudio Server、Jupyter、Beaker Notebookを容易に構築可能になる。Dockerを使うことの利点として、複数人でのデータ分析や将来の利用面においてデータ分析結果の再現性を高められると考えられる。 🍵 前置き〜データ分析者が直面する再現性への挑戦 データ分析の結果が、自分以外では再現できない、同じデータを使っているのにナンデ!?ということが時々ありま
Exactly How to Make Use Of Airbnb Booking Airbnb is an internet site and also mobile app that matches people seeking a place to remain with property owners happy to rent their homes, apartments, castles, and also luxury yachts. The firm assists in the deal and also bills a service fee for every booking. The solution permits users to search… What Does an Accident Legal Representative Do? An acciden
TL;DR Jupyter Notebookがアツい! RubyとかElixirも動かしてみたい! Dockerコンテナで動かせば楽! Docker ToolboxだけでOK! Pythonの知識なくても環境構築できる RubyやElixirの知識がなくてもJupyter Notebook上でそれらの言語が扱える Jupyter Notebookについて Jupyter Notebookがキテる!という話は色々なところでなされているため本稿では省略する: Jupyterがすごい勢いでやってくるからお前ら備えとけ(IPython Notebook + R) - Qiita Railsエンジニアに役立つJupyter NotebookとiRuby - クックパッド開発者ブログ 現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ このJu
この記事は Docker Advent Calendar 2015 14日目の記事です。 Summary Pythonで定時処理batchを作りたい場合はparse-crontabを使うと便利&瞬殺で出来るお. parse-crontabとDockerの公式Python Imageでbatch実行環境を速攻で作れちゃうぜ! 本題 このネタはPyCon JP 2015のTalk Session「野球Hack!~Pythonを用いたデータ分析と可視化 」の後半戦で披露した、「Dockerとparse-crontabで野球データを取得するbatchを作ったぜ!」ネタの抜粋&詳細解説バージョンとなります. 基本的には私の都合&思いで書いてる部分が多いので意見ツッコミ提案お待ちしておりますm(_ _)m また、このネタを作るにあたり、 Pythonで定時実行処理を実装する(GAUJIN.JP/ごうじ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く