Pythonの開発環境を、徐々に改良しています。
上の記事を書いたときは、Visual Studio 2017を使っていましたが、今は Visual Studio Codeを使っています。
これまでは、インストールしたPythonをそのまま利用していたのですが、仮想環境なるものがあるので、導入してみよう!というのが、今回のお話です。
なお、Python始めて2か月とかなので、拙い内容であるのはご容赦ください。
環境
ツール | バージョン |
---|---|
OS | Windows10 Professional 64bit(Surface Pro 4) |
Visual Studio Code | 1.15.1 |
Python | 3.6.2 |
linterとして、Pylintを使います。Visual Studio Codeも、インストールを求めてきます。
開発時フォルダ構成として、
開発フォルダ
- Python仮想環境
とします。
前提
- Visual Studio Codeはインストールされている
- Pythonはインストールされ、正常稼働している
- Visual Studio Codeの拡張機能は、Pythonを用いている
Python仮想環境の作成
これは、いろんな記事を見かけましたが、Python3.6なら、チュートリアル通りにやれば良いようです。
12. 仮想環境とパッケージ — Python 3.6.5 ドキュメント
手順は以下の通りです。
- Powershellを開く*1
Set-Location
またはcd
等で、仮想環境を作成したい、一つ上のフォルダに移動する
1.python3 -m venv <<仮想環境名>>
と入力するpython -m venv <<仮想環境名>>
と入力する
※Windowsで、PythonのインストールフォルダにPATH
が通っていることが前提となる
…これだけです。
これを行うと、上で指定した「仮想環境名」のフォルダが作成されます。
なお、作成場所を失敗して、消したい場合は、上記フォルダを削除すればいいです。簡単。
稼働確認
仮想環境が正常に作成されたか、稼働確認します。
- 上記「仮想環境名」のフォルダに、
Set-Location
等で移動する - そのフォルダから、
.\scripts\Activate.ps1
と入力し、実行する*2 - 先頭に
(仮想環境名)
が付けば成功
イメージは以下の通りです。(仮想環境名:myenv)
↓
先頭に、(仮想環境名)と表示されます。
こうなれば環境は作成されています。
ファイル書き換え
2018/4/30追記
pipの最新バージョンリリースにより、pipをインストールする場合は、ファイル書き換えの手順は不要になりました。
詳細は以下の記事を参照ください。
2018/4/30追記おわり
日本語でうまく動作しない箇所があるので、書き換えます。
なお、普通にPythonをインストールした場合も必要です。
これに関しては、以下のリンクを参照してください。
WindowsのVisualStudioCodeでPython - PukiWiki
Pythonインストール先/Lib/site-package/pip/compat/init.pyの75行目,
return s.decode('utf_8')
を
return s.decode('cp936')
に書き換えます。
pylintインストール
このまま進めても、Visual Studio Codeがlint入れろと要求してくるので、先に入れます。
Powershellで、仮想環境を開いた状態で、
pip install pylint
と入力します。
すべてがうまくいっていれば、ここでインストールできるはずです。
上のファイル書き換えを行わないと、ここでエラーが発生します。
Visual Studio Code設定
次に、Visual Studio Codeから、仮想環境を見るように、設定を行います。
といっても、簡単です。
- Visual Studio Codeを開き、画面左下の歯車をクリックし、「設定」を選択
- 右上で「ワークスペースの設定」に切り替え、以下の記述を行う
"python.pythonPath": "<<絶対パス>>\\<<仮想環境名>>\\Scripts", "python.linting.pylintPath": "<<絶対パス>>\\<<仮想環境名>>\\Scripts\\pylint.exe"
私の場合、開発フォルダの下に仮想環境があるようにしているので、以下のようになります。
絶対パスの部分を${workspaceRoot}
にしています。*3
Visual Studio Code での稼働確認
設定が全て終わったら、実際にPythonのコードを書いて、挙動を確認しましょう。
1.ワークスペースの下に、index.pyというファイルを作る*4
2.適当にソースを書く
といっても難しいので、適当にサンプルを用意しました。
import functools def main(): '''メイン''' val = functools.reduce((lambda a, b: a + b), range(1, 101)) print(val) if __name__ == '__main__': main()
3.index.pyに書いて保存する
4.すると、Visual Studio Codeの「問題」に、Pylintの警告が出る
警告が出れば、Pylintは正常に稼働しています。
5.F5等で、デバッグ実行する
6.ブレークポイント等設定し、正常に止まることを確認する
(ついで)仮想環境で実行できているか見る方法
上記で動いたら、以下のソースを実行してみてください。
print(sys.exec_prefix)
これで出力されたパスが、作成した仮想環境のものであれば、問題なく仮想環境で実行されています。
以下に記載があります。
29.1. sys — システムパラメータと関数 — Python 3.6.5 ドキュメント
おわりに 私が嵌った問題
おおむね、上記の通りに作業したのですが、なぜかwrapt
の中が、ほとんど空でした。
何度やっても、仮想環境のPylintが起動せず、それを調べていたときに発見しました。
pipでアンインストール後、再度インストールしたところ、正常動作するようになりました。
同じ状況になった人とかいらっしゃるのでしょうか…?
まとめ
Let's python life!を目指しましょう。
Visual Studio Codeは無料だし、手早く始めるなら、大変便利だと思います。
手順に意見や質問あれば、ツッコミいれてください!
修正履歴
日付 | 内容 |
---|---|
2017/09/07 | 誤字脱字、レイアウトミスを修正 |
2017/10/18 | 「Python仮想環境の作成」の誤りを修正 |