スキップしてメイン コンテンツに移動

投稿

11月, 2018の投稿を表示しています

MacにPython3をインストールする! (サクッとインストールしたい人向け)

MacにPython3をインストールする! (サクッとインストールしたい人向け)python3をMacにインストールする手順の覚書です。インストール公式サイトよりパッケージをダウンロード公式サイトに行き、Downloadボタンより、パッケージをダウンロードします。
OSを自動判別してくれているので、ボタンをポチッとするだけです。インストーラを起動ダウンロードしたパッケージを起動して、インストールしていきます。インストール後の確認インストールが終わったら、ターミナルで、以下のコマンドを入力します。
Python 3.x.xと表示されればOKです。$ python3 Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28) Macには、デフォルトで Python 2.x系がインストールされています。
Python3系をインストールしても、古いPythonは消えない為、pythonと入力すれば、これまでのバージョンも使えます。$ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) アインスールインストールしたPythonが不要になった場合、以下の手順でアンストール出来ます。アプリケーションからPythonを削除Finderを開いて、「アプリケーション」からインストールした Pythonを削除します。Frameworksフォルダの削除公式サイトのインストーラを使用すると、PythonをStep実行する統合開発環境(IDLE)、バージョン管理の pyvenv、パッケージ管理の pip が同時にインスールされます。それら全てを削除するには、以下のコマンドを使います。sudo rm -rf /Library/Frameworks/Python.framework シンボリックリンクを削除「/usr/local/bin」に色々シンボリックリンクが作成されているので、削除します。
以下のコマンドを入力して、見つかったシンボリックリンクを削除していきます。ls -l /usr/local/bin | grep Python .bash_profil の修正viエディタでbash_profileを開きます。vi ~/.bash_profile 中身に、以下のような部分があると思う…

pipコマンドまとめ! 忘れても思い出せばいい! 【Python TIPS】

pipコマンドまとめ! 忘れても思い出せばいい! 【Python TIPS】忘れがちなpipコマンドを"まとめ"ました。
pip3でも基本同じです。pipコマンド集pip自身をアップデート以下のコマンドで、pip自身をアップデートできます。$ pip install -U pip インストール済パッケージの一覧を表示$ pip list Package Version ----------------- ---------- aniso8601 4.0.1 astroid 2.1.0 ・・・ パッケージのインストール$ pip install <package> パッケージを再度インストール$ pip install -U <package> パッケージをアップグレードpip install -U <package> パッケージリストからインストールpip install -r requirements.txt パッケージリストは、こんな感じで書きますFlask==1.0.2 Flask-RESTful==0.3.6 SQLAlchemy==1.2.14 パッケージのアンインストール$ pip uninstall -y <package> 削除時の確認メッセージが不要な場合は、"-y"オプションをつけます。$ pip uninstall -y <package> 関連記事■ MacにPython3をインストールする! (サクッとインストールしたい人向け)Mac環境に、Python3を簡単にインストールする方法を紹介しています。■ Python3入門! 基礎をおさらい (変数/演算子/条件分岐/繰り返し)1つの記事に、基本文法をまとめて書いているので、時間が空いて忘れてしまった場合でも、一気に復習出来るようになっています。よければ見てください。■ Flaskでソースの変更を検知して、Webアプリを自動リロードする[Python Tips]Flaskの開発で、ソースを更新したら、自動的にWebアプリをリロードする方法です。■ Flaskで REST API開発する! 直ぐに実行できるサ…

VSCode+Python拡張機能で、インテリセンスが効かない問題を解決する

VSCode+Python拡張機能で、インテリセンスが効かない問題を解決するVisual Studio Code (VS Code)で、Pythonのコード保管 (インテリセンス)が効かなくなったので、その時の解決方法です。環境Mac OS Mojave
Visual Studio Code October 2018 (version 1.29)
Python 3.7.1
Python拡張機能 (ms-python.python) 2018.10.1現象VSCodeに、Python拡張機能を入れた途端、Pythonのインテリセンスが効かなくなった。対処方法VSCodeのユーザ設定で、以下を設定すると正しくインテリセンスが動作しました。
なぜかC++の設定を追加すると、うまくいきました (謎)"[cpp]":{"editor.quickSuggestions": true }関連記事■ MacにPython3をインストールする! (サクッとインストールしたい人向け)Mac環境に、Python3を簡単にインストールする方法を紹介しています。■ Python3入門! 基礎をおさらい (変数/演算子/条件分岐/繰り返し)1つの記事に、基本文法をまとめて書いているので、時間が空いて忘れてしまった場合でも、一気に復習出来るようになっています。よければ見てください。■ Flaskでソースの変更を検知して、Webアプリを自動リロードする[Python Tips]Flaskの開発で、ソースを更新したら、自動的にWebアプリをリロードする方法です。■ Flaskで REST API開発する! 直ぐに実行できるサンプルコードで解説 【Python Tips】Pythonの軽量Webフレームワークである、FlaskでREST APIを作るまでの流れを、紹介します。■ Flask-RESTful を使って、REST APIを作る【Python Tips】Flaskと、Flask-RESTfulを使って、REST APIを作ります。
Flask-RESTfulを使うと、オブジェクト思考な感じで、REST APIが作れます。■ Pythonで小数点の四捨五入/切り捨て/切り上げを行うPythonのdecimalモジュールを使って、小数点の丸めを行う方法…

Flaskで REST API開発する! 直ぐに実行できるサンプルコードで解説 【Python Tips】

Flaskで REST API開発する! 直ぐに実行できるサンプルコードで解説 【Python Tips】Pythonの軽量Webフレームワークである、FlaskでREST APIを作るまでの流れを、サンプルコードで紹介します。Pythonの2大Webフレームワークとして、FlaskとDjangoがあります。
Googleドレンドで見ると、始めはDjangoが大きくリードしていましたが、2018年11月現在、Flaskが大きく追い上げています。
IoTブームなどで、最近自分の周りでは、APIだけを開発する案件がメチャクチャ多いです。
そんな時に、FlaskはサクッとAPI開発が出来るので、よくお世話になってます。ちなみに日本ではまだDjangoの方が人気っぽいですインストールPythonのインストールPython3がインストールされていない場合は、こちらを参考に、インストールを行って下さい。Flaskのインストール以下のコマンドでFlaskをインストールします。pip3 install flask サンプルードユーザ情報を、取得/登録/更新/削除する、REST APIのサンプルです。
HTTPメソッドによって、処理モードを振り分けています。HTTP メソッドURLペイロード処理内容GET/user/<USERID>なしユーザを1件取得POST/user/ユーザ情報(Form)ユーザの登録PUT/user/ユーザ情報(Form)ユーザの更新DELETE/user/<USERID>なしユーザの削除# coding: utf-8from flask import Flask, jsonify, abort, request app = Flask(__name__)# テストデータ users =[{"id":"U001","name":"ユーザ太郎","age":27},{"id":"U002","name":"ユーザ二郎","age":20},{"id":"U003","name":…

Flaskでソースの変更を検知して、Webアプリを自動リロードする[Python Tips]

Flaskでソースの変更を検知して、Webアプリを自動リロードする[Python Tips]FlaskのWebアプリ開発で、ソースコードが変更されたら、アプリを自動リロードする方法です。開発時はコードを頻繁に編集すると思いますが、Flaskの標準では、コードを変更しても直ぐには認識されず、毎回Webサーバを立ち上げ直す必要があります。
う〜ん…とても面倒です。そこで、コードを編集したら、Webサーバを自動リロードする方法を調べました。
これで気分良く開発が出来そうです♪Flaskをデバッグモードで起動するFlaskをデバッグモードで起動すると、コード変更時に自動リロードしてくれます。
app.run(debug=True)とするだけで、簡単に設定出来ます。if __name__ =="__main__": app.run(debug=True)起動方法は、デバッグなしの時と同じ。$ python3 app.py * Serving Flask app "app" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 243-698-xxx しかし、この方法には問題が1つあります。
コンパイルエラーがある状態で、ファイルを保存してしまうと、Pythonのプロセス自体が落ちてしまいます。
そうなると、エラーを修正した後に、再度Webアプリ立ち上げ直す手間が発生します。
う〜ん…ちょっと面倒です。Flaskコマンドラインインターフェースを使うよくよく調べると、Flask 0.11から追加された、コマンドラインインターフェースを使えば、全てが解決しました。やり方は単純で、以下のflask…

Visual Studio Codeでインデント幅が反映されない時の対処

Visual Studio Code(VS CODE)で、タブのインデント幅が反映されない時の対処Visual Studio Code(VS CODE)で、タブのインデント幅を、4→2に変更したのに、反映されない事があった為、その時の対応メモです。対処した内容1. 設定画面でインデント幅を変更まずは普通に設定画面で、タブキー押下時のインデント幅を変更します。
メニューの[基本設定]->[設定]から、設定画面を開いて ユーザ設定/ワークスペース設定のどちらかに、以下のように設定を入れます。// タブ 1 つに相当するスペースの数。"editor.tabSize":2,// Tab キーを押すとスペースが挿入されます。"editor.insertSpaces":true,2. 既存ファイルのインデント幅を修正すでに作成してしまったファイルは、インデント幅を変更しても反映が行われません。
その為、手動で以下のようにインデント幅を修正していきます。(1) まずはインデント幅を修正するファイルを開きます。
(2) 一旦すべてのインデントをすべて削除します。
(3) 一旦ファイルを閉じます
(4) ファイルを再度開いて、[コマンドパレット]->[ドキュメントフォーマット]を選択
(5) 変更したインデント幅(=2)でコードがフォーマットされます。
最後にこれまでの内容の通り、インデント幅を修正は、1ファイルずつ行う必要があります。
大量にファイルを作成する前に、ちゃんと設定をしておきたいですね!関連記事■ VS Codeのメニューを日本語化! 簡単3ステップで出来るVisual Studio Codeのメニューを、日本語化した時のメモです。

VS Codeのメニューを日本語化! 簡単3ステップで出来る

VS Codeのメニューを日本語化! 簡単3ステップで出来るVisual Studio Codeのデフォルト言語は英語の為、日本語化した時の覚書です。日本語化拡張機能のインストール拡張機能の検索窓にjapaneseと入力します。
検索結果に表示されたJapanese Language Pack for Visual Studio Codeをインストールします。表示言語を変更するコマンドパレットにConfigure Display Languageを入力し、locale.jsonを表示します。言語を日本語の"ja"に変更して保存します。{// Defines VS Code's display language.// See https://go.microsoft.com/fwlink/?LinkId=761051 for a list of supported languages. "locale":"ja"// Changes will not take effect until VS Code has been restarted.}VS Codeを再起動すると、メニューが日本語になっていると思います。関連記事■ Visual Studio Code(VS CODE)で、タブのインデント幅が反映されない時の対処タブのインデント幅を変更したのに、反映されない事があった為、その時の対応メモです。

C# (.net) で使える MQTT クライアント (Paho M2Mqtt)

C# (.net) で使える MQTT クライアントはじめにC# で使える MQTT クライアントを探していて、
eclipse プロジェクトより 出ている “Paho M2Mqtt” というライブラリが
シンプルで使いやすかった為、そのメモです。“Paho M2Mqtt” 以下の環境をサポートしている為、
IoT機器でも使用可能になっています。.NET Framework、.NET Compact Framewoprk、 .NET Microframework 4.2/4.3、Mono、 Windows 8.1, Windows Phone 8.1のWinRT セットアップ"Paho M2Mqtt"ライブラリは、NuGet からダウンロードします。
まず最初に Visual Studio で新規の「コンソールプロジェクト」を作成します。NuGetの管理コンソールを開いて、「M2Mqtt」で検索しインストールを行います。Subscriber(サブスクライバー)のサンプル コードPublisher (パブリッシャー) からメッセージが送信されると、
コンソールにそのメッセージを表示するサンプルです。staticvoidMain(string[] args){// HIVE MQ の brokerを指定して、クライアントを作成 MqttClient client =newMqttClient("broker.mqttdashboard.com");// メッセージを受信した際に発生するイベント client.MqttMsgPublishReceived +=(sender, e)=>{ Console.WriteLine(Encoding.UTF8.GetString(e.Message));}; string clientId = Guid.NewGuid().ToString(); client.Connect(clientId);// 受信するメッセージのトピック、QoSレベルを指定して、メッセージ受信待ち状態に入る client.Subscribe(new string[]{"/my/mqtt/sample/testdata"},new …

全文検索エンジンの Apache Solr 7.5のインストールする (Mac/Linux)

全文検索エンジンのApache Solr 7.5のインストールする (Mac/Linux)全文検索エンジンである、Apache Solrのインストールから起動するまでの話です。ダウンロードhttp://ftp.jaist.ac.jp/pub/apache/lucene/solr/7.5.0/上のページから、「solr-7.5.0.tgz」をダウンロード。
ダウンロードが終わったら解凍します。tar xzf solr-7.5.0.tgz Solrの起動解凍先のディレクトリに移動して、以下のコマンドを入力。cd solr-7.5.0./bin/solr start -e cloud 起動オプションを入力対話式で、いくつか起動オプションを聞かれるので、答えていきます。
Solrであらかじめ用意されている、サンプルスキーマ / サンプルデータを使って、起動していきたいと思います。起動するノード数デフォルト値を使用する為、そのままEnterThis interactive session will help you launch a SolrCloud cluster on your local workstation. To begin, how many Solr nodes would you like to run in your local cluster? (specify 1-4 nodes)[2]:1つ目のノードの、ポート番号 (デフォルト値を使用)デフォルト値を使用する為、そのままEnterOk, let's start up 2 Solr nodes for your example SolrCloud cluster. Please enter the port for node1 [8983]:2つ目のノードの、ポート番号デフォルト値を使用する為、そのままEnterPlease enter the port for node2 [7574]:コレクション名techproducts と入力して EnterNow let's create a new collection for indexing documents in your 2-node cluster. Please provide a name for your new c…

Go言語 (golang) ファイル・ディレクトリの存在チェック

Go言語 (golang) ファイル・ディレクトリの存在チェックGo言語でファイル・ディレクトリの存在チェックを行う方法です。よく見かけるサンプルコードでは、ファイル・ディレクトリの区別を行わず存在チェックしているため、ファイルの存在チェック、ディレクトリの存在チェックで分けて書いてみました。ファイルの存在チェックif f, err := os.Stat("/tmp/hoge.txt"); os.IsNotExist(err)|| f.IsDir(){ fmt.Println("ファイルは存在しません!")}else{ fmt.Println("存在するファイルです")}ディレクトリの存在チェックif f, err := os.Stat("/tmp/hoge_dir"); os.IsNotExist(err)||!f.IsDir(){ fmt.Println("ディレクトリは存在しません!")}else{ fmt.Println("存在するです")}

IPアドレス指定の自己サーバー証明書で、iPad/iPhoneから httpsでアクセスする

IPアドレス指定の自己サーバー証明書で、iPad/iPhoneから httpsでアクセスするやりたい事iPad/iPhoneから、IPアドレス指定で、社内のWEBサーバとhttps通信します。通常は、サーバ証明書を、ドメイン名で発行して https化します。
しかし、iPad/iPhoneから、ローカルサーバにドメイン名(ホスト名)でアクセスするには、名前解決の為のDNSサーバが必要になります。
[ドメイン名(ホスト名)で iPad/iPhoneからアクセスする場合]開発用途の為に、DNSサーバを用意するのは面倒なので、今回はOpenSSLを使って、IPアドレスに対してサーバ証明書を発行していきたいと思います。
そうすれば、https://192.168.xxx.xxxなどのIPアドレス指定で、https通信が可能となり、結果DNSサーバが不要になります。
[IPアドレスで iPad/iPhoneからアクセスする場合]環境今回構築する環境は以下の通りです。Webサーバ・Windows Server 2012
・IISクライアント・iPad, IPhone ( IOS 12 )CA証明書(ルート証明書)の作成まずは、自己CA証明書を作成していきます。CA証明書の秘密鍵を作成openssl genrsa 2048 > ca.key CA証明書要求を作成コマンド入力後、いくつかの質問をされるので、適切に答えます。openssl req -new -key ca.key -out ca-certificate-request.csr [質問の内容と回答の例]Country Name (2 letter code) []:JP State or Province Name (full name) []:Tokyo Locality Name (eg, city) []:Minato-ku Organization Name (eg, company) []:my-company Organizational Unit Name (eg, section) []:my-section Common Name (eg, fully qualified host name) []:Local System CA Email Address []:sample@example.c…