VR侍

主に興味があって調べたことについてまとめていきます。

Pythonの日本語出力

Pythonは、マルチバイトの処理にかなり癖があるらしい。
日本語を出力しようとすると文字化けしてしまう。
いろいろ調べて次のように書くと文字化けせずに出力された。

# coding: utf-8
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
print("日本語の\r\n出力!!!")

 

以上、ひとことメモでした。

VS Code で Python

久々の更新となったが、windowspythonを触るために、visual studio code で実行できるように設定を行ってみた。
設定に当たっては、以下のサイトを参考にさせていただきました。大変参考になりました。
http://qiita.com/goforbroke/items/1197035fae25b83e7e8c

今回使用した visual studio code のバージョンは、1.1.1です。

1. pyLintの設定
VS Code の File > Preferences > User Settings から
settings.json に以下の行を追記
{
 //-------- Python configuration --------
 // The linter to use
 "python.linter": "pyLint"
}

2. 仮想環境の設定
コマンドプロンプトにて以下のコマンドを実行
mkvirtualenv vscode
(仮想環境名を vscode とした)
C:\Users\<User name>\Envs\vscode
が生成される。<User name>はwindowsのユーザ名のこと。
vscodeフォルダに移動して、以下のコマンドを実行。
pylint --generate-rcfile > .pylintrc
生成された、C:\Users\<User name>\Envs\vscode\.pylintrc
を開いて、”init-hook=” で検索する。
以下のように修正して、pylintに仮想環境のライブラリが存在するパスを指定する。
init-hook="import sys; sys.path.append('module') ; sys.path.append('C:\\Users\<User name>\\Envs\\vscode\\Lib\\site-packages')"

3. タスクの設定
VSCodeでタスクを設定するために、
C:\Users\<User name>\Envs\vscode
を開いてワーキングスペースフォルダとする。
Ctrl + Shift + p -> タスクランナーの構成で other を選択し、tasks.json を開き、以下のように編集する。

"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"showOutput": "always",
"args": ["/c"],
"tasks": [
  {
    "taskName" : "run",
    "suppressTaskName": true,
    "isBuildCommand": true,
    "args" : ["workon vscode & python ${file}"]
  }
]

 上記設定の意図は次の通りとのこと。
 ビルドコマンドのショートカットであるCtrl+Shift+bで起動
 cmd /Cでコマンドプロンプトを実行のたびに起動(/Cの意味は、直後のコマンドを実行してプロンプト終了の意)
 tasksで実行するコマンドを&で連結し,同一タスク上で実行
 仮想化環境 vscode を起動
 ${file}でカレントファイルのPythonコードを実行

4. タスクの実行
Ctrl+Shift+b で ワーキングスペースフォルダ にあるpython プログラムを実行できる。

今日はここまで。

Pythonの環境をプロジェクトごとに分ける

Pythonは用途に応じてさまざまな機能を自分で実装せずとも既に多くのライブラリが用意されているのが魅力のひとつ。しかし、手あたり次第にライブラリをいれると後でライブラリの依存関係が分からなくなり他の環境に移す際に問題になる恐れがあるそう。
暗黙の依存が原因でプログラムが動かなくなる問題を防ぐため、プロジェクトごとに環境を分離するためのツールがある。
その名も、virtualEnvWrapper。

次のコマンドでインストール
> pip install virtualenvwrapper-win

pip最強。

1. 新規プロジェクト用の環境を作成
> mkvirtualenv <envname>
<envname>は、任意の環境名。作成後、その環境が有効の状態になる。
C:\Users\<username>\Envs\<envname> に環境が出来上がる

2. 環境の一覧表示
> workon

3. 環境の有効化
> workon <envname>

4. 環境から抜ける
> deactivate

5. 環境の削除
> rmvirtualenv <envname>
直接フォルダを削除しても問題ない。

今日はここまで。

うちのPythonに静的解析を

ソースコードのイケてない部分を見つけ出して教えてくれるサードパーティ製のツール Pylint をインストールした。
ちなみにlintとはC言語向けの静的解析ツールの名前らしい。Pylintは、そのPython版ということ。

さっそくインストール。

> pip install pylint

pip便利。

インストール完了後、以下のおまじないコマンドでカレントのフォルダに .pylintrc が出来上がる。
このファイルを変更して静的解析の設定をカスタマイズが可能。

> pylint --generate-rcfile > ./.pylintrc

以下の項目で解析を実行
> pylint hello.py

実行してみると、いろいろ指摘してくれるw

Hello Python!

コマンドプロンプトで、以下ように実行して文字列を出力。
こういう感じで動かすのか。

> python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello Python!")
hello Python!
>>> quit()

 

ちなみに、Pythonの実体は、Python.exeという実行ファイル。

検索すると、ユーザフォルダの奥深くにインストールされている。

こんな感じでプログラムを記述したファイルを指定しても実行できる。

> echo print("Hello Python!") > hello.py

> python hello.py

Hello Python!

 

 

 

 

 

Pythonのパッケージ管理システム

Pythonは用途に応じてさまざまなライブラリが存在するのが魅力のひとつ。
Pythonのパッケージ管理システム pip を使用してインストールを行う。
今どきのPythonには pip がデフォルトでインストールされる。

使用する前に、pip自身をアップデートする。

$ pip install -U pip

今日はここまで。

 

追記:

pip freeze

で現在インストールされているパッケージの一覧を表示

現段階では何も表示されない