KUT経・マネ/プログラミング系授業
プログラマにとって、ソースコードやスクリプトを編集するためのエディタは、少なくとも料理人にとっての包丁程度には重要なものです。プログラミングの学習においては、エディタの研究にもある程度時間を割きましょう。本講義では、Visual Studio Code(VS Code)という、Microsoftが開発したフリーのエディタを用いることにします。
それでは早速VS Codeを起動してみましょう。ホームパス下にGitHubという名前のフォルダを作ってください。(注;本講義では、「フォルダー」と「ディレクトリ」をほとんど同じ意味で用います。)Anaconda promptやコマンドプロンプトで次のように入力して得られるパスです。
echo %HOMEPATH%
%HOME%というよく似た環境変数もあるので間違わないように注意してください。GitHubフォルダを作ったら、その中にさらにmy_first_codeという名前のフォルダーを作りましょう。
my_first_codeの中身(からっぽ)をWindowsエクスプローラで表示し、右クリックすると「Codeで開く」という選択肢がありますので、それを選ぶと、VS Codeが起動します(下図)。「Codeで開く」が見つからない場合は、フォルダをVS Codeのショートカットアイコンにドラッグ&ドロップしてください。

とりあえず覚えなくてはならないのは、左上のエクスプローラーと、それを開閉するボタンでしょう。エクスプローラーでは、現在いるフォルダmy_first_codeの中にどのようなファイルがあるかを示しています。VS Codeのエクスプローラーの詳しい使い方については、『独習Python』のp30-31を読んでください。
VS Codeを使うに当たって、覚えたほうが良いショートカットが3つあります。
その他、覚えると快適なショートカットに、
などがあります。他にも無数のショートカットがありますので、探してみてください。
VS Codeを快適に使うためには、インターネット経由で様々なエクステンション(拡張機能)をインストールする必要があります。大学内のPCでエクステンション(拡張機能)をインストールするためには、プロキシの設定が必要です(お家のパソコンでは必要ありません)。プロキシの設定はGUIを使う方法と、設定ファイル(settings.json)に直接書き込む方法の二通りがあります。
Ctrl-,と叩くと、設定のための検索窓が立ち上がりますので、proxyと入力しましょう。すると、
Http: Proxy
使用するプロキシ設定。設定されていない場合は、'http_proxy' および >'https_proxy' の環境変数から継承されます。
[ ]
というproxy設定パネルが現れますので、
Http: Proxy
使用するプロキシ設定。設定されていない場合は、'http_proxy' および 'https_proxy' の環境変数から継承されます。
[http://proxy-server-addr:???? ]
のように大学のプロキシサーバーとポート番号を入力しましょう。ここで、proxy-server-addrはプロキシサーバーのアドレス、????はポート番号です(Moodleに記載しておきます)。
入力できたら、設定ファイルに正しく書き込まれているか次のようにして確認しましょう。Ctrl-Shift-Pと叩いて、コマンドパレットを開きます。settings.jsonと入力すると、幾つか候補が出てきますが、そのうち、
基本設定:設定(JSON)を開く
Preferences: Open Settings (JSON)
を選択します。すると、json形式でかかれた設定ファイルsettings.jsonが開かれますので、次のように、プロキシが記載されていることを確認します。
{
...
...
"http.proxy": "http://proxy-server-addr:????",
...
...
}
…のところは何か色々書いてあると思いますが、プロキシの設定が見当たれば大丈夫です。
もしくは、上記のsettings.jsonを開いて、直接プロキシの行を書き込んでしまっても構いませんが、そのように直接書き込むメリットはあまり無いと思います。むしろ各種設定は、上記のsettings.jsonというjson形式のファイルに書き込まれていて、VS Codeで自由に追記・修正できるということを理解するのが重要でしょう。
プロキシの設定ができましたので、各種エクステンションがインストールできます。エクステンション(拡張機能)をインストールするには、Ctrl-Shift-Xを叩きます。現れた検索ウィンドウにエクステンション名を入力すれば、候補をリストアップしてくれますので、望みのものを選んでインストールボタンを押しましょう。
以下のエクステンションが必要ですので、インストールしましょう。
マークダウン系のエクステンションは(文字通り)無数に存在しますので、必ずしも上記のもので無くて良いですし、より良いものがあるかもしれません。ぜひ自分に合うエクステンションを探してみてください。上のエクステンションを全て一度にインストールするのは大変だと思うので、まずはJapanese Language PackとPythonエクステンションをインストールしましょう(残りは各自インストールしておいてください)。
なお以下は授業では使いませんが、AWSなどの外部サーバーで開発を行う際に大変重宝します。リモートのファイルを直接VS Codeで編集できます。
以下は、VS Code内で図を書くことができる便利なエクステンションです。ソフトウェアの設計図などをMarkdownで書きたい人には大変便利です。本稿の図はほとんどこのエクステンションを使って作成しました。
それでは大体の準備ができたので、いよいよVS Codeでプログラミングしてみましょう。Pythonのプログラミングを行うときは、インターラクティブモードという、VS Codeの内部でJupyterを起動する方法が便利です。
VS Codeのエクスプローラからmy_first_code.pyというファイルを作成し、開いてください(教科書pp.30-31参照)。1行目に次のように入力してください。
#%%
もし編集画面が次のように変化すればインターラクティブモードの起動に成功したことを表します。

尚、初回は「インタープリタが未選択」という通知が出る場合があります。その時は、通知内容にしたがって、インタープリタを選択します。”Python 3.x.x xx-bit (‘base’: conda)”を選択しておけばよいでしょう。(xは各自の環境に依存します。)
ためしに、簡単な計算を行ってみましょう。”#%%”記号のすぐ下に計算式を書いてShift-Enterと叩いてみましょう。すると次のように編集画面が変化します。

この編集画面で”#%%”記号と青線に挟まれた部分はセルと呼ばれ、この部分に記述されたPythonコードは、Shift-Enterによってまとめて実行されます。
一方、セルを実行して得られた結果は、画面右のインターラクティブウィンドウに表示されます。

上図で右側がインターラクティブウィンドウです。1+1の結果である2が表示されています。
VS Codeインターラクティブモードを用いて、以下のような様々な計算を行ってみなさい。なお、以降の講義では、VS Code上のコードを# %%、REPL上のコードを>>>で表すことにします。注)>>>記号はプロンプトなので、入力する必要はありません。
# %%
x = 1
y = 2
print(x + y)
# %%
z = x + y
print(y ** z)
# %%
print("Hello, World!")
いくつかセルが出来たら、”# %%”記号の横にある”Run Cell”、”Run Above”、”Run Below”などをクリックしてみましょう。何が起きたか分かりますか?(“Run Debug”は難しいのでクリックしないように。)
これで自由にPythonコードを実行できるようになりました。ここで、ついでにEmacsキーバインディングの練習をしましょう。まず、上で説明した手順にしたがって、Awesome Emacs Keymapエクステンションをインストールしてください。
Awesome Emacs Keymapエクステンションをインストールすると、Emacsキーバインディングが使えるようになります。 my_first_code.pyを開き、コードの任意の箇所にカーソルを置いて、Ctrl-nと叩いてみましょう。カーソルが次の行に移動したらキーバインディングが正常に機能しています。Ctrl-pと叩けばカーソルが前の行に移動するはずです。このように、キーバインドを使うと、マウスを使わずにカーソルを移動できます。
主なEmacsキーバインディングは以下の通りです。
| キー操作 | 動作 |
|---|---|
| Ctrl-n | 次の行に移動 |
| Ctrl-p | 前の行に移動 |
| Ctrl-b | 前の文字に移動 |
| Ctrl-f | 次の文字に移動 |
| Ctrl-a | 行頭へ移動 |
| Ctrl-e | 行末へ移動 |
| Ctrl-v | 次のページへ移動 |
| Alt-v | 前のページへ移動 |
| Ctrl-k | 現在の行のカーソル以降を削除 |
| Ctrl-d | 前方一文字削除 |
| Ctrl-h | 後方一文字削除 |
| Ctrl-s | 順方向検索 |
| Ctrl-r | 逆方向検索 |
| Ctrl-x Ctrl-s | 保存 |
| Ctrl-space | マーク設定 |
| Ctrl-w | マーク設定地点からカーソル位置までをカット |
| Ctrl-y | 貼り付け |
| Ctrl-x Ctrl-c | エディター終了 |
これらのキーバインドを駆使して、可能な限りマウスに触らないでコーディングするように練習してください。
タッチタイピングで視線の移動を減らし、Emacsキーバインディングで手の移動を減らして、ストレスのないプログラミング生活を楽しみましょう。上記の他にも多数の便利なキー操作がありますので、インターネット等で調べてみてください。また、ここでは説明しませんが、VS Codeはキーバインドを細かくカスタマイズすることもできます。気になる人は、インターネットでカスタマイズの方法を調べてみましょう。
my_first_code.pyの上で、上の表に上げたキーバインドを一つずつ試してみましょう。
次に、簡単なマークダウンファイルを作成してみましょう。マークダウンとは、HTMLのようなマークアップ言語の一種で、プレーンテキスト文書に書式を付けて文書を整形するための言語です。ホームページを記述するためのHTML(HyperText Markup Language)については皆さんご存知かとおもいますが、Markdownは、HTMLよりももっと機能を限定して簡略化したようなものです。(ちなみに本講義資料も全てマークダウンで記述しました。)
HTMLでは、たとえば見出しや段落を作るとき、次のようなテキスト文書をつくります。
<html>
<body>
<h1>見出し</h1>
<h2>これは小見出し</h2>
<p>
これは段落。これは<b>太字</b>。
<ul>
<li>これは項目</li>
<li>これも項目</li>
</ul>
</p>
<p>
これも段落。
</p>
</body>
</html>
しかし、HTMLには次のような欠点があります。
そこで、スタイルなどの細かい微調整は諦めてもっと簡潔に書式を記述できるようにしたのがマークダウンです。マークダウンでは上記と同じ文書が次のようになります。
# これは見出し
## これは小見出し
これは段落。これは**太字**。
- これは項目
- これも項目
これも段落。
HTMLに比べると非常に簡潔であることが分かると思います。
マークダウン文書を作成するまえに、以下のエクステンションをインストールする必要があります。
そのほか、図やスライドを作るには、以下のエクステンションが必要です。
エクステンションがインストールできたら、早速マークダウンを書いてみましょう。VS Codeのエクスプローラで、my_first_markdown.mdというファイルを作成し、開いてください。(マークダウン文書の拡張子は必ず.mdにします。)文書を開いたら、Emacsキーバインドなどを活用しつつ、上述のマークダウン文書を打ち込んでいきましょう。

上図で、画面の左がソースファイルの編集画面、右側にはプレビューが表示されます。ソースとプレビューを比較すると分かるように、両者に大きな違いがないことが分かります。これがマークダウンの最大の特徴です。
| 記法 | 解説 | 出力 |
|---|---|---|
# 見出し |
# + 半角スペース + 見出し文字列 |
大見出し(タイトル) |
## 見出し |
## + 半角スペース + 見出し文字列 |
中見出し(セクション) |
### 見出し |
### + 半角スペース + 見出し文字列 |
小見出し |
**文字** |
** + 太字にしたい文字列 + ** |
太字 |
- 項目 |
マイナス記号 + 半角スペース + 箇条書き項目 | 箇条書き |
1. 項目 |
数字 + ピリオド + 半角スペース + 箇条書き項目 | 数字付き箇条書き |
---- |
ハイフン三つ以上 | 水平線 |
[ハイパーリンク](https://homepage.com) |
[文字列](URL) |
ハイパーリンク |
見出しは#記号の数が多いほど小さくなります。見出しの前後は必ず1行の空行を入れます。
# 見出し1
## 見出し2
### 見出し3
#### 見出し4
なお、入れ子の箇条書きをVS Codeで作る時はタブキーで字下げをすると入れ子になります。(ちなみに、Shift+Tabで字下げを元に戻せます。)
1. 項目1
1. 項目1-1
2. 項目1-2
2. 項目2
表は次のように作ります。
|商品|個数|値段|
|--|--|--|
|りんご|2個|200円|
|みかん|8個|350円|
|バナナ|1房|100円|
my_first_markdown.mdに上記の見出し、入れ子の箇条書き、表の例を記述し、プレビューを確認しなさい。以下のようになりましたか?

なお、URLリンクの挿入は以下のようにします。
プログラミングのHPは[こちら](https://kut-econ.github.io/programming2021/)。
コード断片の挿入は以下のようにします。
```python
# %%
x = 1
y = 1
z = x + y
print(z)
```
上記のpythonの部分には、markdown、R、C、bashなど、言語の名前を指定します。
Markdown All in Oneがインストールしてあれば、簡単に目次をつけることができます。この目次は、文書を変更すると、その内容を自動的に反映してくれる便利な目次です。一度挿入すれば、二度とマニュアルで編集する必要はありません。
文書の先頭、大見出しのすぐ下にカーソルをもっていき、Ctrl-Shift-Pを叩いてコマンドパレットを出してください。Create tableと入力すると、Markdown All in One: Create Table of Contentsという選択肢が出てきますので、これを選択すると、目次が挿入されます。
拡張機能Markdown PDFをインストールすれば、マークダウンファイルをPDFに出力できます。
Ctrl-Shift-Pでコマンドパレットを起動し、exportと入力してください。幾つか選択肢が出てきますが、その中からMarkdown PDF: Export (pdf)を選択します。これだけで、現在開いているマークダウンファイルが同じディレクトリにPDF形式で出力されます。
VS Codeで図を作成するには、Draw.io Integrationという拡張機能をインストールする必要があります。Ctrl-Shift-XでDraw.io Integrationを検索し、インストールしてください。
VS Codeで、.drawio.pngという拡張子のファイルを作ってください。たとえばfilename.drawio.pngのような名前にします。これをクリックすると、ドローイングツールのDrawioが起動して、図を作成できるようになります。
図を作成したら、次のようにして、マークダウン中に挿入できます。

ここで、URLリンクとは違って、最初に!マークが入っていることに注意してください。
マークダウンでスライドを作るには、拡張機能のMarp for VS Codeをインストールします。
Marpがインストールできたら、VS Codeでマークダウンファイルを新たに作成してください。ファイル名は何でも構いませんが、slide.mdにしておきましょう。
slide.mdを開いて、ファイルの先頭に、次のように記述してください。
---
marp: true
---
<!--
headingDivider: 2
-->
marp:とtrueの間に一つスペースを入れるのを忘れないようにしてください。これで、レベル2の見出しがスライド頁の区切りになります。
たとえば、以下のように入力してみてください。プレビューがスライドになるはずです。
---
marp: true
---
<!--
headingDivider: 2
-->
# Marpで楽しくスライド作り
1234567 工科太郎
## これは頁タイトルになる
ここは2ページ目である。
1. 番号付き箇条書き項目である
2. 番号付き箇条書き項目である
3. 番号付き箇条書き項目である
PDFに出力することも簡単にできますので試してみてください(編集画面の上のほうにある三角マークからできます)。
VS Codeの話は上記でおしまいです。VS Codeには他にも様々な拡張機能があるので、色々探してみてください。
ここからは、Anacondaの話をします。Anacondaは、Pythonに科学計算に有用な様々なツール、ライブラリ一式を合わせたもので、フリーで公開されています。
Anacondaを使っていると、インストール済みの機能に満足が行かなくなるときがいつか来ます。そういう時は、インターネット経由でAnacondaに追加の機能をインストールする必要が出てきますが、そのためには、プロキシの設定が必要になります。
Windowsスタートメニューから、Anaconda Promptを起動し、次のように入力すると、Anacondaの設定が表示されます。
(base) C:\Users\hoge>conda config --show
これだと全ての設定が表示されてしまって見にくいので、以下のようにしてプロキシの設定だけ表示しましょう。
(base) C:\Users\hoge>conda config --show proxy_servers
proxy_servers: {}
上記のようにproxy_serversの項目が空欄になっていたら、プロキシが設定されていません。その場合は、以下のように順次入力してhttpとhttpsの両方にnocのプロキシサーバーを設定しましょう。
(base) C:\Users\hoge>conda config --set proxy_servers.http http://proxy-server-addr:????
(base) C:\Users\hoge>conda config --set proxy_servers.https http://proxy-server-addr:????
ここで、proxy-server.addrは正しいプロキシサーバーのアドレス(Moodleに記載)に、????は正しいポート番号に置き換えてください。
もう一度設定を表示して、プロキシが正しく設定されているか確認しましょう。
(base) C:\Users\hoge>conda config --show proxy_servers
proxy_servers:
http: http://proxy-server-addr:????
https: http://proxy-server-addr:????
上記の用に表示されれば正しく設定されています。
大学のPCでは、プロキシは設定しただけでは、Anacondaに追加機能をインストールすることはできません。Anacondaに追加機能をインストールするには、Windowsの管理者権限が必要だからです。また、管理者権限があったとしても、Anacondaを直接いじるのは不安です。良く分からない追加機能をインストールして、Anaconda全体に不具合が生じるかもしれないからです。
このような問題を解決するために、Anacondaには仮想環境という仕組みが備わっています。仮想環境とは、新しくPythonがインストールされていて、自由にパッケージのインストール・アンインストールを行うことができる自分専用の環境のことです。(解説はしませんが、Anacondaがない場合はvenvモジュールによって仮想環境を作ることができます。)
Pythonを使っていると、必ず近いうちに複数のバージョンのPythonを使い分けなくてはならない時がやってきます。その時のために、今から仮想環境に慣れましょう。
Anacondaをインストールすると、baseという名前のデフォルトの仮想環境が作成されます。Anaconda promptを起動すると、base環境が起動している状態になります。試しに次のようにして、base環境を停止してみましょう。
(base) C:\Users\hoge>conda deactivate
C:\Users\hoge>
プロンプトから(base)という文字列が無くなりました。この状態では、全ての仮想環境がストップしています。再びbaseを起動するために、次のように入力しましょう。
C:\Users\hoge>conda activate
(base) C:\Users\hoge>
次に、現在存在している仮想環境をcondaコマンドでチェックしておきましょう。以下のように打ち込みます。
(base) C:\Users\hoge>conda env list
# conda environments:
#
base * E:\ProgramData\Anaconda3
最初は仮想環境がbaseしか存在しないので、#のある行を除けば1行しか出力されません。アスタリスク(*)は、現在自分のいる仮想環境がbaseであることを示しており、そのあとのパスはbaseがインストールされているディレクトリを表しています。全く同じ出力は、次のようにしても得られます。
(base) C:\Users\hoge>conda info --envs
# conda environments:
#
base * E:\ProgramData\Anaconda3
Pythonでデータ解析を行うためには、様々なパッケージをインストールする必要があります。パッケージは仮想環境ごとに異なるものをインストールすることが出来ますが、baseには最初から多くのパッケージがインストールされています。baseにインストールされているパッケージのリストを取得してみましょう。
(base) C:\Users\hoge>conda list
# packages in environment at E:\ProgramData\Anaconda3:
#
# Name Version Build Channel
_anaconda_depends 2020.07 py38_0
_ipyw_jlab_nb_ext_conf 0.1.0 py38_0
alabaster 0.7.12 pyhd3eb1b0_0
anaconda custom py38_1
anaconda-client 1.7.2 py38_0
...(中略)...
xz 5.2.5 h62dcd97_0
yaml 0.2.5 he774522_0
yapf 0.31.0 pyhd3eb1b0_0
zeromq 4.3.3 ha925a31_3
zfp 0.5.5 hd77b12b_6
zict 2.0.0 pyhd3eb1b0_0
zipp 3.4.1 pyhd3eb1b0_0
zlib 1.2.11 h62dcd97_4
zope 1.0 py38_1
zope.event 4.5.0 py38_0
zope.interface 5.3.0 py38h2bbff1b_0
zstd 1.4.5 h04227a9_0
ものすごく長い出力が得られたと思いますが、これらが全て予めインストールされているパッケージです。非常に多くのパッケージが既にインストール済みですので、データ解析では、多くの場合base環境だけで事足ります。しかしながら、例えば実験プログラミング用パッケージであるotreeはインストールされていませんので、こういったパッケージをインストールする場合には、新たな仮想環境の構築が必須になります。
それではいよいよ、仮想環境を作ってみましょう。たとえばmyenvという名前の仮想環境を作るには次のようにします。
(base) C:\Users\hoge>conda create -n myenv
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: E:\ProgramData\Anaconda3\envs\myenv
Proceed ([y]/n)?
environmental location:の所に出てくるパスに仮想環境が構築されることになりますが、具体的なパスは人によって異なります。(パスを変更することもできますが、ここでは説明を省略します。)
以下のように’y’と入力すると、仮想環境が構築されます。
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate myenv
#
# To deactivate an active environment, use
#
# $ conda deactivate
(base) C:\Users\hoge>
ちゃんと環境ができているかチェックしましょう。
(base) C:\Users\hoge>conda info -e
# conda environments:
#
base * E:\ProgramData\Anaconda3
myenv E:\ProgramData\Anaconda3\envs\myenv
たしかにmyenvという環境が出来ているようですが、アスタリスク記号*はbaseについており、myenvは起動していないことが分かります。myenvを起動するには、次のようにします。
(base) C:\Users\hoge>conda activate myenv
(myenv) C:\Users\hoge>
プロンプトが(base)から(myenv)に変わり、myenv環境が起動しました。myenv環境にインストールされているパッケージのリストを表示してみましょう。
(myenv) C:\Users\hoge>conda list
# packages in environment at E:\ProgramData\Anaconda3\envs\myenv:
#
# Name Version Build Channel
(myenv) C:\Users\hoge>
全くパッケージが入っていないことが分かります。Pythonすら入っていません。たとえばPythonのバージョン3.8をこの環境にインストールするには、次のようにします。
(myenv) C:\Users\hoge>conda install python=3.8
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: E:\ProgramData\Anaconda3\envs\myenv
added / updated specs:
- python=3.8
The following packages will be downloaded:
package | build
---------------------------|-----------------
python-3.8.8 | hdbf39b2_5 15.8 MB
------------------------------------------------------------
Total: 15.8 MB
The following NEW packages will be INSTALLED:
ca-certificates pkgs/main/win-64::ca-certificates-2021.4.13-haa95532_1
certifi pkgs/main/win-64::certifi-2020.12.5-py38haa95532_0
openssl pkgs/main/win-64::openssl-1.1.1k-h2bbff1b_0
pip pkgs/main/win-64::pip-21.0.1-py38haa95532_0
python pkgs/main/win-64::python-3.8.8-hdbf39b2_5
setuptools pkgs/main/win-64::setuptools-52.0.0-py38haa95532_0
sqlite pkgs/main/win-64::sqlite-3.35.4-h2bbff1b_0
vc pkgs/main/win-64::vc-14.2-h21ff451_1
vs2015_runtime pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2
wheel pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
wincertstore pkgs/main/win-64::wincertstore-0.2-py38_0
Proceed ([y]/n)?
yを入力して続行すると、pythonをインストールできます。(しばらく時間がかかります。)実際にインストールされたかどうか確かめて見ましょう。
(myenv) C:\Users\hoge>conda list
# packages in environment at E:\ProgramData\Anaconda3\envs\myenv:
#
# Name Version Build Channel
ca-certificates 2021.4.13 haa95532_1
certifi 2020.12.5 py38haa95532_0
openssl 1.1.1k h2bbff1b_0
pip 21.0.1 py38haa95532_0
python 3.8.8 hdbf39b2_5
setuptools 52.0.0 py38haa95532_0
sqlite 3.35.4 h2bbff1b_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py38_0
(myenv) C:\Users\hoge>
ちゃんとPythonがインストールされていることが分かります。REPLを起動してみましょう。
(myenv) C:\Users\hoge>python
Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
パッケージをインストールしたいときは、
conda install package_name
のように入力します。package_nameはパッケージ名です。パッケージのバージョンまで指定したいときは、
conda install package_name=ver_num
とします。ver_numはバージョン番号です。
たとえば、次のようにすればデータ解析パッケージのpandasをインストールできます。注)myenv環境に、Rのバージョン3.6やCのコンパイラ、アセンブラ等を入れておいてください。やり方はFAQを参照。
conda install pandas
myenv環境を停止してbaseに戻る時は、
conda deactivate
と入力します。
最後にcondaコマンドをまとめておきましょう。
| コマンド | 動作 |
|---|---|
conda --help |
condaコマンドのヘルプを表示 |
conda command --help |
コマンドcommandのヘルプを表示 |
conda config --show |
全てのパラメータを表示 |
conda config --show par |
パラメータparの設定を表示 |
conda config --set par value |
パラメータparの値をvalueに設定 |
conda config --remove-key par |
パラメータparの設定を消去 |
conda info --envs |
全ての仮想環境を表示 |
conda info -e |
同上 |
conda env list |
同上 |
conda create -n env_name |
仮想環境env_nameを作成 |
conda list |
現環境のインストール済みパッケージをリストアップ |
conda install package |
パッケージpackageを現在環境にインストール |
conda install package=ver |
パッケージpackageのバージョンverを現環境にインストール |
conda remove package |
パッケージpackageを現環境からアンインストール |
conda remove -n env_name --all |
仮想環境env_nameを削除 |
新しく作成した仮想環境myenvをVS Codeで呼び出すためには、その仮想環境にipykernelパッケージをインストールする必要があります。また、コード補完を行うためには、pyreadlineのインストールも必要です。
conda activate myenv
conda install ipykernel
次にVS Codeを起動し、my_first_code.pyを開きましょう。この状態でCtrl-Shift-Pをたたいてコマンドパレットを呼び出し、selectと入力します。幾つか候補が出てきますが、その中からPython: Select Interpreterを選びます。すると、仮想環境のリストが表示されるので、正しい仮想環境を選びましょう。myenvがリストにない場合は、パレットにmyenvと入力するとリストに現れます。
新環境myenvを選ぶと、VS Codeの画面下にある青い帯のところに、’myenv’:condaと表示されます。

これで、インターラクティブモードで実行したPythonコードはすべて仮想環境myenvにインストールしたインタープリタによって実行されます。
仮想環境をbaseに戻したいときは、同じようにコマンドパレットからbaseを呼び出しましょう。
VS Code以外にもエディターはたくさんありますが、代表的なものはvi(vimともいう)とEmacsです。プログラミングするだけならば、VS CodeはEmacsと同程度に拡張性があり、Emacsよりも使いやすいので、VS Codeがインストールされている環境ではわざわざEmacsでコーディングする理由はないと思うかもしれません。
しかしながら、VS Codeは大がかりなアプリケーションなので、慣れてくると、ちょっとしたプログラムを作成するのに一々VS Codeを立ち上げるのは面倒くさいと思うようになるでしょう。そのようなときに、より手軽なEmacsが便利ですので、覚えておいて損はありません。
また、プログラミングを好きになりたいのなら、Emacsのキーバインディングをしっかりとマスターすることを強くお勧めします。その練習のためにEmacsを使ってみるのは有益だと思います。
ぜひマスターしてほしいもう一つのエディターはvi(vimともいう)です。こちらは、数多あるエディターの中でも最も軽快に動作するエディターであり、Linux/Unixに標準で搭載されています。標準で搭載されているので、どのマシンでもいきなり使えるという保証がありますし、何よりも動作が軽快なので、「ちょこっと」設定ファイル等を書き換えるのに大変重宝します。筆者は、Linuxの設定ファイルを編集したりするのにはviを、プログラミングにはVS CodeやEmacs、Pycharmといった重厚なエディターを使うというふうに使い分けています。Linuxをいじりだすとわかりますが、各種の設定ファイルをちょこちょこ書き換えるのにいちいちEmacsなどを立ち上げていられません。Gitでコミットする際のメッセージを編集するのにもviが軽快で便利です。viのマニュアルはネット上に溢れていますので、ぜひ試してみてください。
今回の講義では、次の点について学びました。
エディターを使いこなすことはプログラミングの習得において大変重要です。VS Codeを自分のパソコンや研究室のパソコンにインストールし、Pythonコードやマークダウン文書の作成を通してEmacsキーバインドに慣れるようにしましょう。
myenv環境をactivateしてから、次を実行します。
conda install r-base=3.6
Rがインストールできましたら、Rと入力して起動してください。そして、以下を入力してpryrパッケージをインストールしてしまってください。
install.packages('pryr')
stringiをソースからコンパイルしますか云々と英語で聞かれますが、noで大丈夫です。
VS Codeの3つの設定項目
を設定します。
myenv環境でRをインストールしたら、RがインストールされているPathを調べてください。Anaconda Promptでmyenvを起動し、次のように入力すると表示されます。
where R
Macの場合はwhich Rになります。このPathを、上記の3つの設定項目すべてにコピーしてください。設定項目はCtrl-,で検索できます。
次のようにして自身のAnaconda仮想環境にGNU Cコンパイラ、NASMアセンブラ、makeコマンドをインストールできます。
myenv環境にこれらをインストールする場合は、myenvをactivateしてから、次のように入力します。
conda install -c anaconda m2w64-gcc
conda install -c anaconda nasm
conda install -c conda-forge make
これはVS Codeのパスを環境変数PATHに追加することで解決します。VS Codeのショートカットを右クリックして、プロパティを選択し、「リンク先」に書いてあるパスをユーザー環境変数のPATHに追加します(システム環境変数ではありません)。実行ファイル名”Code.exe”はパスに含めないでください。これによってGitからも起動できるようになります。
VS CodeのPythonスクリプト上で右上の実行ボタン(緑色の矢印)を押すと
conda : 用語 ‘conda’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認 識されません。名前が正しく記述されていることを確認し、・・・
というエラーが出ることがあります。これはcondaコマンドのあるディレクトリにパスを通すことで解決します。
Anaconda Promptで、
where conda
と入力してcondaコマンドのパスを調べてください。そのパスを、windowsの環境変数PATHに加えれば解決します。複数出た場合は全部加えてください。
REPLで日本語文字を使うと、それ以降
UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x82 in position 96: illegal multibyte sequence
というエラーが出るようになることがあります。これは大した問題ではありません。Anaconda Promptを起動したときのディレクトリにある.python_historyというファイルを削除すれば解決します。見つからない場合は、Windowsの設定で隠しファイルを表示しないモードになっているか、もしくは別のディレクトリに同ファイルがある可能性があります。Anaconda Promptで
echo %HOME%
と叩いて表示されるディレクトリを探してみてください。Windowsで隠しファイル(ピリオドからはじまるファイル名)を表示しないモードになっていると見つからないのでご注意ください。