「Python」カテゴリーアーカイブ

書評: 入門 Python 3

最近Pythonの復習と学習を進めている。きっかけは二つ。SQL Serverに搭載された事、二つ目はPythonが現代の”Basic”だと感じたからだ。感じたと書いたのはそれがすごくフィーリング的な事だからだ。ボクらの世代はPCを使う事は大なり小なりBasicを憶える事だった。少なくとも”LOAD”命令を憶えないとテープからゲームがロードできなかったし、少ない小遣いで楽しむためには、雑誌に書かれたコードは意味はわからなくても書き写して何らかのプログラムが動かす必要があった。そして、そのうちに雑誌に書かれた呪文の方が気になるようになり、プログラムを憶えた。もちろん”Basic”だ。そのうち、ゲームよりもプログラミングやPC自体を知る事の方が楽しくなる。今のPythonは子供達が初めて出会うプログラミング言語の一つであるだけでなく、ボクらが8bitのPCとBasicで憶えたコンピュータと操るという楽しみを、Raspberry PiとPythonが今の子供達に与えている。また、Pythonはそういった初学者向けのプログラミング言語と言うだけでなく、実用的な業務システム、コンシューマ向けのサービス、深層学習などのAI分野や科学技術計算やシミュレーションでも使用されている。かつて”Basic”が数世代のプログラマのコモンセンスだったように、今はPythonがその地位に(否、それ以上の地位を)占めている。Pythonがコモンセンスだ。

本書はそんなPythonの学習に適している。もう3年前の本なので内容が多少古いところもあるが、Python3が下位互換性に気をつけて開発されているおかげで(Python2?知らない子だ)、今でも問題無く通用する。ただし、多くのオライリーの言語「入門書」がそうであるように、本書は言語の入門書であってプログラミングの入門書ではないし、プログラマになるための本でも無い。本書は何れかの言語にそれなり精通した人間が自分の知っている言語と(できればオブジェクト指向プログラミング言語)と比較しながら学習するのに適している。したがって、目先の仕事をやっつけたい人には向いていないかもしれない。

Pythonは間口は広いが、薄っぺらくはない奥行きが深い言語だ。このページ数を費やして学習する意味があったと思っている。

Visual Studio 2017 Version 15.7 Preview 1 リンクまとめ

Visual Studio 2017 Version 15.7 Preview 1 | The Visual Studio Blog

入手: プレリリース版 Visual Studio 2017 | Visual Studio プレビュー

リリースノート: Visual Studio 2017 version 15.7 – Preview Release Notes

Python

Python in Visual Studio 15.7 Preview 1 – Python Engineering at Microsoft

C++

ClangFormat Support in Visual Studio 2017 | Visual C++ Team Blog

C++ Code Analysis Improvements for Visual Studio 2017 15.7 Preview 1 | Visual C++ Team Blog

Linux C++ Workload improvements to the Project System, Linux Console Window, rsync and Attach to Process | Visual C++ Team Blog

Windowsでpylint実行時にModuleNotFoundError: No module named ‘wrapt.wrappers’のErrorが出る場合の対処方法

情報源: python – Running pylint returns ModuleNotFoundError: No module named ‘wrapt.wrappers’ – Stack Overflow

というようなエラーが出た場合、本当にモジュールがないので、以下のフォルダに((…)はあなたのユーザー名)にwraptのGitHubから最新のソースを入手して、解凍した後にsrcディレクトリの内容を以下のフォルダに上書きします。

これで必要なモジュールが書かれたpyファイルが追加されるのでとりあえずpylintは動くようになるはず。

IronPython 2.7.8 リリース

IronPython 2.7.8 Release

久々のアップデートです。今回はライブラリバージョンの.NET Core対応他様々な変更がありました。変更点は以下のリンク先をご確認ください。

https://github.com/IronLanguages/ironpython2/compare/ipy-2.7.7…ipy-2.7.8

Windowsは.NET Framework 4.5以上、Linuxの場合は該当するmonoのバージョンをご用意ください。

Python in Visual Studio Code – Jan 2018 Release

情報源: Python in Visual Studio Code – Jan 2018 Release – Python Engineering at Microsoft

主な変更点。

Lintのルール表示の仕組みが改善されました。

設定ファイルを手作業で編集しなくても、いくつかのリンター設定を構成できる新しいlintコマンドが追加されました。 Python:Select Linterコマンドを使用すると、選択したLinterを選択できます。Python:リンケージを有効にすると、リンケージを有効または無効にすることができます。

リンターを選択すると、PylintからFlake8またはサポートされている他のリンターに簡単に切り替えることができます。複数のLinterを同時に使用したい場合には手動で設定ファイルを変更する必要があります。

ターミナルがanaconda、Virtual Environmentに対応しました。

新しいPython端末を作成すると、現在選択されている仮想環境またはconda環境が自動的にアクティブになります。

以下は、単純な “hello world” Flaskウェブアプリです。 Flaskはこのマシンにグローバルにインストールされていませんが、アプリケーションの現在のフォルダの仮想環境にインストールされています。

Python:Select Interpreterコマンドを使用して、仮想環境をアクティブにすることができます。

PythonのCreate Terminalコマンドを使用して新しい端末を作成すると、コマンドウィンドウが開き、選択した仮想環境またはconda環境がアクティブになります。

次に、python helloflask.pyを使用してアプリケーションを実行すると、起動した仮想環境でFlaskが利用できるため、アプリケーションは正常に実行されます。

以前のバージョンでは、フラスコがインストールされていない仮想環境のインタプリタではなく、グローバルなPythonインタプリタを使用してファイルを実行するため、これは失敗します。

Python:Run File in Terminalコマンドは、Pythonスクリプトを実行する前に、選択した環境をアクティブにします。何らかの理由で仮想環境端末のアクティブ化を無効にしたい場合は、python.terminal.activateEnvironmentsをfalseに設定します。

インストール等は以下を確認ください。

Python – Visual Studio Marketplace

バグ報告や、機能追加要望は以下のGitHubのissueにてお願いします。

https://github.com/Microsoft/vscode-python/issues

pylintのインストールでエラーが出た場合の対処方法(Windows)

情報源: Python – Windows版VisualStudioCodeでPythonでpylintのインストールを要求される(103539)|teratail

軽くはまったのでメモ。

pylintのインストールでエラーが出た場合には以下のようにwraptのバージョンがpylintが必要とするバージョンと合っていない可能性があるので、アップデートを試してみる。

この後にもう一度pylintのインストールを試みる。

Azure Notebooks(AzureでのJupyter Notebooksのホスト)

情報源: Run book Run! From physical paper to executable online books | The Visual Studio Blog

Azure Notebooksと言うタイトルでMicrosoft AzureがJupyter Notebooksのホスティングを始めたようです。現状はPreview。

Jupyterはオンラインドキュメントの作成プラットフォームですが、今までのEPUBなどの電子書籍フォーマットやSphinxといった文書作成ツールのような静的なコンテンツのみの作成だけでなく、実際にドキュメントに書かれたコードをその場で実行できるなどインタラクティブ性を持たせられることが大きな特徴です。

参照: Jupyter Project

Azure NotebooksではPython 2 or 3, R, F#を実行することが出来るようです。

詳細は、以下のAzure Notebooksのサイトを確認してください。

Microsoft Azure Notebooks – Online Jupyter Notebooks