現在地: ホーム ‣ Dive Into Python 3 ‣
難易度: ♦♢♢♢♢
❝ Tempora mutantur nos et mutamur in illis.(時勢は変わり、我々もそれとともに変わる)❞
— 古代ローマのことわざ
Python 3でのプログラミングを始める前に、まずはPython 3をインストールする必要がある。それとも、もうインストールしてあるだろうか?
ホスティングサーバのアカウントを持っている人は、そのISPがPython 3をすでにインストールしているかもしれない。もし自宅でLinuxを使っているのなら、同様にPython 3がすでにインストールされているかもしれない。ほとんどの有名なGNU/LinuxディストリビューションにはデフォルトインストールでPython 2が導入されているが、Python 3を含むディストリビューションも少ないながら存在しており、その数はしだいに増えてきている。Mac OS XにはコマンドラインバージョンのPython 2が入っているが、いまこれを書いている時点ではPython 3は入っていない。Microsoft Windowsには、どのバーションのPythonも付属していない。でも、諦めないように! あなたがどのOSを使っているとしても、マウス操作だけでPythonをインストールできる。
お使いのLinuxやMac OS XにPython 3が入っているかどうかを確認するには、コマンドラインを使ってみるのが一番簡単だ。Linuxの場合は、アプリケーションメニューから端末と呼ばれるプログラムを探してほしい(もしかしたらアクセサリやシステムといったサブメニューの中に入っているかも)。Mac OS Xの場合は、/Application/UtilitiesフォルダにTerminal.appというアプリケーションが存在する。
コマンドラインプロンプトが表示されたら、ただpython3(すべて小文字、空白なし)と入力し、何が起きるかを確認してほしい。私の自宅のLinuxシステムにはすでにPython 3がインストールされているので、このコマンドによって「Python対話シェル」が起動する。
mark@atlantis:~$ python3 Python 3.0.1+ (r301:69556, Apr 15 2009, 17:25:52) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
(Python対話シェルを終了するには、exit()と入力してENTERキーを押そう)
私のウェブホスティングプロバイダもLinuxが動作していて、コマンドラインへのアクセスが提供されているが、このサーバにはPython 3がインストールされていない(ちぇっ!)。
mark@manganese:~$ python3 bash: python3: command not found
では、この節の初めの質問へ戻ろう。「どのPythonをつかえば良いのだろうか?」 その答えは、「使っているコンピュータで動作するならどれでも良い」だ。
[次節では、Windowsへのインストール方法を説明する。その他のOSについては、Mac OS Xにインストールする、Ubuntu Linuxにインストールする、その他のプラットフォームにインストールするまで進んで欲しい。]
⁂
Windowsは現在、32ビット版と64ビット版の2つのアーキテクチャで提供されている。もちろんWindowsにはたくさんの異なる「バージョン」、すなわちXP, Vista, Windows 7が存在するが、Pythonはこの中のどれの上でも動作する。それよりも、32ビットと64ビットのどちらであるかの方が重要だ。もし実行しているアーキテクチャがどちらなのか分からないなら、おそらく32ビットの方だろう。
python.org/download/を訪れ、アーキテクチャに合ったPython 3のWindows用インストーラをダウンロードして欲しい。次のようなものを選ぶことになるだろう:
インストーラを直接ダウンロードするためのリンクはここに書かないでおきたい。というのは、Pythonのマイナーアップデートは日常茶飯事であり、あなたが重要なアップデートを逃すことになっても責任がとれないからだ。何か深遠なる意図がある場合は別として、常に最新バーションの Python 3.x をインストールしておくべきだ。
ダウンロードが完了したら.msiファイルをダブルクリックしよう。実行可能ファイルを実行しようとしているので、Windowsはセキュリティ警告を表示するだろう。公式のPythonインストーラは、Pythonの開発を監督している非営利企業のPython Software Foundationによってデジタル署名されている。偽物を実行させたらダメだよ!
実行ボタンをクリックしてPython 3インストーラを起動しよう。
インストーラの最初の質問は、Python 3をすべてのユーザのためにインストールするのか、あなただけのためにインストールするのかを選択するものだ。デフォルトでは “install for all users“ が選択されており、別段何か理由がなければこれが最適な選択だ(“install just for me” を選ぶ理由の1つとしては、会社のコンピュータにPythonをインストールしようとしているが、あなたのWindowsアカウントには管理者権限が与えられていないという状況が考えられる。しかしなぜ会社のWindows管理者の許可を得ずにPythonをインストールしようとしているのだろうか。私をトラブルに巻き込まないでくれよ!)。
次へボタンをクリックして、選択したインストールの種類を確定しよう。
インストーラは次に、インストール先のディレクトリを選択するように指示してくる。Python 3.1.xのすべてのバージョンでは、そのデフォルト値はC:\Python31\になっている。これを変更する特別の理由がない限り、ほとんどのユーザはこのままの設定でうまくいくはずだ。アプリケーションを他のドライブにインストールしている人は、埋め込みのファイルブラウザを使ってその場所まで移動するか、あるいはその下のボックスにパス名を直接入力してほしい。別にPythonのインストール先はC:ドライブに制限されておらず、任意のドライブの任意のフォルダにインストールできる。
次へ ボタンをクリックしてインストール先のディレクトリを確定する。
次のページは複雑に見えるが、実はそうでもない。他の多くのインストーラと同様に、Python 3を構成する個々のコンポーネントについて、それをインストールしないという選択ができる。もしディスクスペースの空きが非常に少ないのであれば、特定のコンポーネントを除外できる。
.py ファイル) をダブルクリックで実行できるようにする。有効にしておくことを奨めるが必須ではない(ただしこのオプションはディスクスペースを要求しないので、あえてこれを除外する理由はほとんどない)。
docs.python.org にあるほとんどの情報を含んだヘルプファイルだ。ダイアルアップ回線や制限されたインターネット接続を使っているのであれば有効にしておくことを奨める。
2to3.pyを含んでいる。これの使い方はこの本の後の章で学ぶことになる。もしPython 2の既存のコードをPython 3へ移行する方法を学びたいのであればこのオプションは必要だ。Python 2のコードを持っていないのであればこのオプションは無効にしてもよい。
ディスクスペースにどれくらいの空きがあるかが不安であれば、Disk Usageボタンをクリックするとよい。インストーラがドライブレターの一覧を表示し、各ディスクの現在の空きスペースと、インストール後の空きスペースを計算してくれる。
OKボタンをクリックして、“Customizing Python” ページに戻ろう。
除外したいオプションがある場合は、そのオプションの前にあるドロップダウンボタンを押して、"Entire feature will be unavailable" を選択しよう。例えばテストスイートを除外すると、7908KBというかなりのディスクスペースが節約できる。
次へボタンをクリックして選択を確定しよう。
インストーラは、すべての必要なファイルを選択したインストール先ディレクトリにコピーする(これは本当に一瞬で終わる。スクリーンショットを撮影するのに三回も挑戦する羽目になったぐらいだ!)。
終了ボタンをクリックしてインストーラを終了しよう。
スタートメニューの中に、Python 3.1という新しいアイテムがあるはずだ。その中にIDLEというアプリケーションがある。これを選択してPython対話シェルを起動しよう。
[Pythonシェルを使うへスキップする]
⁂
最近のすべてのMacintoshコンピュータは(ほとんどのWindows PCと同様に)Intelチップを使っている。かつてのMacはPowerPCチップを使っていた。あなたがこの違いを気にする必要はない。というのも、1つのMac用PythonインストーラだけですべてのMacに対応できるようになっているからだ。
python.org/download/へ行き、Mac用インストーラをダウンロードしよう。バージョン番号は違うかもしれないが、これはPython 3.1 Mac Installer Disk Imageなどと書かれているはずだ。バージョン2.x系ではなく、3.x系をダウンロードすることに注意しよう。
おそらくブラウザは、ディスクイメージを自動的にマウントし、Finderのウィンドウを開いて内容を表示するだろう(もしそうならなければ、ダウンロードフォルダにあるディスクイメージを見つけ、それをダブルクリックしてマウントする必要がある。ディスクイメージはpython-3.1.dmgのような名前であるはずだ)。このディスクイメージは、いくつかのテキストファイル (Build.txt、License.txt、ReadMe.txt) と、実際のインストーラパッケージであるPython.mpkgを含んでいる。
インストーラパッケージPython.mpkgをダブルクリックすると、Mac用のPythonインストーラが起動する。
インストーラの最初のページはPython自体の簡単な説明だ。詳細を知りたい場合はReadMe.txtファイルを読んでほしい(まだ読んでいないよね?)と書かれている。
続ける ボタンをクリックして先へ進もう。
次のページは実は重要な情報を含んでいる。すなわち「Pythonを動かすにはMac OS X 10.3以降である必要がある」ということだ。まだMac OS X 10.2を使っているのなら、早くアップグレードすべきだ。Appleは、これのセキュリティアップデートをすでに終了しており、コンピュータをオンラインにすることに危険を伴う。そしてPython 3を実行することもできない。
続けるボタンをクリックして先へ進む。
すべての優れたインストーラと同様に、Pythonのインストーラもソフトウエア使用許諾契約を表示する。Pythonはオープンソースであり、そのライセンスはOpen Source Initiativeの認可を受けている。Pythonの歴史には数々の権利者やスポンサーが存在していて、彼らは皆このソフトウエアライセンスに名前を残している。しかし、現在においてもなおPythonはオープンソースであり、どのプラットフォームでも、どんな利用目的でも、料金や代償的な義務なしに使用できる。
続けるボタンをもう一度クリックしよう。
標準のAppleインストーラフレームワークが奇妙な作りをしているせいで、インストールを完了するにはソフトウエア契約に「同意」しなければならない。Pythonはオープンソースなので、権利を奪われるというより、むしろ更なる権利を受け取ることに「同意」することになる。
同意するを押して次へ進もう。
次の画面ではインストールする場所を変更できる。Pythonは起動ドライブにインストールしなければならないのだが、インストーラの制約によってこれが強制されない。実際のところ、私がインストール先を変更する必要に迫られたことはない。
この画面からは、インストール設定をカスタマイズして特定の機能を除外することもできる。カスタマイズしたい場合はCustomizeボタンを、そうでなければInstallボタンをクリックしよう。
カスタムインストールを選択した場合は、インストーラは、以下の機能の一覧を表示する:
python3アプリケーションを含んでいる。これもインストールすることを強く奨める。
docs.python.org にあるほとんどの情報を含むヘルプファイルだ。ダイアルアップ回線や制限されたインターネット接続を使っているのであれば有効にしておくことを奨める。
Install をクリックして次へ進もう。
システム全体に影響するフレームワークとバイナリを/usr/local/bin/へインストールするので、インストーラは、管理者権限のパスワードを尋ねてくる。管理者権限なしにMacへPythonをインストールする方法はない。
OK ボタンをクリックして次へ進もう。
選択した機能をインストールしているあいだ、インストーラは、その進捗状況を示すメータを表示する。
すべてがうまくいけば、インストーラは、大きな緑のチェックマークを表示して、インストールが正常に完了したことを教えてくれる。
Close ボタンをクリックしてインストーラを終了しよう。
インストールする場所を変更していなければ、新しくインストールされたファイルは、/ApplicationsフォルダにあるPython 3.1フォルダの中にあるだろう。この中で一番重要なものはグラフィカルなPythonシェルであるIDLEだ。
IDLEをダブルクリックしてPythonシェルを起動しよう。
これからPythonの世界を探索していく道のりのうち、ほとんどの時間はPythonシェル上で過ごすことになる。この本のいたるところに掲載されているサンプルは、あなたが自分でPythonシェルを使っていけることを前提としている。
[Pythonシェルを使うへスキップする]
⁂
現代的なLinuxディストリビューションは、すぐにインストールできるコンパイル済みアプリケーションがつまった巨大なリポジトリ群に支えられている。この中身の細目はディストリビューションごとに異なる。Ubuntu LinuxでPython 3をインストールするには、アプリケーションメニューにある追加と削除というアプリケーションを使用するのが最も簡単だ。
追加と削除というアプリケーションを起動すると、あらかじめ選び出されたアプリケーションのリストがカテゴリごとに分類されて表示される。その一部はすでにインストールされているが、大部分はインストールされていない。リポジトリには10000以上のアプリケーションが存在するので、その一部だけを選びとれるように様々なフィルタが用意されている。デフォルトのフィルタは「Canonicalによって保守されているアプリケーション」になっている。これは全アプリケーションのうちのほんの一部であり、Ubuntu Linuxを開発・保守しているCanonical社によって公式にサポートされているアプリケーションから構成されている。
Python 3はCanonical社によって保守されていないので、まずはフィルタメニューから「すべてのオープンソースソフトウエア」を選択して開こう。
すべてのオープンソースソフトウエアが入るようにフィルタを変更したら、フィルタメニューのすぐ隣にある検索ボックスにPython 3と入力しよう。
アプリケーションのリストが絞り込まれて、Python 3にマッチするアプリケーションだけになったはずだ。ここで2つのパッケージにチェックを付けよう。1つ目はPython (v3.0)で、このパッケージはPythonのインタプリタを含んでいる。
2つ目のパッケージはすぐ上にあるIDLE (using Python-3.0)だ。これは、この本を通して使うことになるグラフィカルなPythonシェルだ。
2つのパッケージにチェックを付けたら、変更の適用ボタンをクリックして次へ進もう。
パッケージマネージャは、IDLE (using Python-3.0)とPython (v3.0)を本当にインストールするかどうかを確認してくる。
適用 ボタンをクリックして次へ進もう。
パッケージマネージャがCanonicalのインターネットリポジトリから必要なパッケージをダウンロードしているあいだ、インストールの進捗度を示すバーが表示される。
パッケージをダウンロードし終わると、パッケージマネージャは自動的にインストールを開始する。
すべてが無事完了すると、パッケージマネージャは、2つのパッケージが正常にインストールされたことを知らせてくる。ここでIDLEをダブルクリックすればPythonシェルを起動できるし、閉じるボタンをクリックすればパッケージマネージャが終了する。
アプリケーションメニューのプログラミングサブメニューからIDLEを選択することで、Pythonシェルをいつでも起動できる。
これからPythonの世界を探索していく道のりのうち、ほとんどの時間はPythonシェル上で過ごすことになる。この本のいたるところに掲載されているサンプルは、あなたが自分でPythonシェルを使っていけることを前提としている。
[Pythonシェルを使うへスキップする]
⁂
Python 3は、いくつもの異なるプラットフォームの上で利用できる。特に、事実上すべてのLinux, BSD, Solarisベースのディストリビューションで利用可能だ。例えば、RedHat Linuxはyumというパッケージマネージャを使用していて、FreeBSDはPortsとパッケージコレクションを持っていて、Solarisはpkgaddとかその類を持っている。検索エンジンでPython 3 + オペレーティングシステム名を検索すれば、お使いの環境でPython 3のパッケージを利用できるかどうかと、そのパッケージのインストール方法を知ることができるだろう。
⁂
Pythonシェルは、Pythonの構文を探求したり、コマンドについての対話的なヘルプを得たり、短いプログラムをデバッグしたりできる場所だ。グラフィカルなPythonシェル(IDLE)には優れたテキストエディタも入っている。このエディタはPythonシェルに統合されており、Pythonの構文に色付けする機能もサポートしている。お気に入りのテキストエディタがまだ無いのであれば、まずはIDLEを試してみよう。
重要なことから始めよう。Pythonシェルはとても良くできたインタラクティブな遊び場だ。この本を通して、あなたは次のような例を見ることになる:
>>> 1 + 1 2
三つの山括弧>>>はPythonシェルのプロンプトを表している。この部分を入力してはいけない。これは単に、この例はPythonシェルでたどる必要がある、ということを知らせているだけだ。
1 + 1が入力する部分だ。正しいPythonの式やコマンドであればどんなものでもPythonシェルに入力できる。恐れることなかれ。Pythonシェルは噛みついたりしないよ! 悪いことが起きるとしても、せいぜいエラーメッセージが表示されるくらいだ。コマンドは(ENTERキーを押すと)即座に実行され、式は即座に評価され、Pythonシェルがその結果を表示する。
2 がこの式を評価した結果だ。偶然にも1 + 1は正しいPythonの式だ。結果はもちろん2だ。
違うことを試してみよう。
>>> print('Hello world!')
Hello world!
とても単純でしょ? だけれど、Pythonシェルの中でできることはもっとたくさんある。もし行き詰まったときは—例えばコマンドが思い出せないときや、関数の適切な引数を思い出せないときは—Pythonシェルで対話的なヘルプが得られる。それにはhelpと入力して、ENTERキーを押せばいい。
>>> help Type help() for interactive help, or help(object) for help about object.
ヘルプには2つのモードが存在する。その1つは、単一のオブジェクトについてのヘルプを得るもので、これは単にそのドキュメントを表示してPythonシェルのプロンプトへ戻る。「ヘルプモード」に入ることもでき、そこではPythonの式を評価する代わりにキーワードやコマンド名を入力することで、そのコマンドについて知っていることをヘルプが表示してくれる。
対話ヘルプモードに入るために、helpと入力してENTERキーを押そう。
>>> help() Welcome to Python 3.0! This is the online help utility. If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam". help>
プロンプトが>>>からhelp>に変化したことに注意しよう。これは、いま対話ヘルプモードに入っていることを知らせている。ここでは、キーワード・コマンド・モジュール名・関数名 — つまりPythonが理解することならほとんど何でも入力でき、それについての説明を読むことができる。
help> print ① Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. help> PapayaWhip ② no Python documentation found for 'PapayaWhip' help> quit ③ You are now leaving help and returning to the Python interpreter. If you want to ask for help on a particular object directly from the interpreter, you can type "help(object)". Executing "help('string')" has the same effect as typing a particular string at the help> prompt. >>> ④
print()関数のドキュメントを得るために、print と入力してENTERを押そう。対話ヘルプモードはmanページのようなもの — 関数名・簡潔な概要・関数の引数とそのデフォルト値などを表示する。このドキュメントに書かれていることが理解できなくても、慌てないように。これらについては後のいくつかの章で説明するから。
グラフィカルなPythonシェルのIDLEはPythonに対応したテキストエディタも含んでいる。
⁂
Pythonのプログラムを書くためのエディタはIDLEだけというわけではない。IDLEは言語自体を学ぶときには便利だが、多くの開発者は他のテキストエディタや統合開発環境(IDE)を好んで使っている。それらをここで取り上げるつもりはないが、Pythonコミュニティは、広範囲のプラットフォームとソフトウエアライセンスを網羅したPython対応エディタのリストを管理している。
Python 3に対応するものは少ないものの、Pythonに対応したIDEのリストを見たい人もいるだろう。対応しているものの1つにPyDevがあり、これはEclipseを本格的なPython用IDEに変えるEclipseのプラグインだ。EclipseとPyDevは、どちらもクロスプラットフォームでオープンソースなソフトウェアだ。
商用のソフトウエアとしてはActiveStateのKomodo IDEが存在する。ユーザごとにライセンスが必要だが、学割を適用できるし、時間制限付きの体験版も無償で利用できる。
私は9年間Pythonでプログラミングをしているが、PythonのプログラムはGNU Emacsを使って編集し、デバッグにはコマンドラインのPythonシェルを使っている。Pythonで開発を行う正しい方法や間違った方法はない。自分に合ったやり方を見つけよう!
© 2001–12 Mark Pilgrim
© 2011-12 diveintopython3-ja(日本語版)