差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
python:how_to_use [2020/03/08 07:29] watalupython:how_to_use [2020/03/08 07:52] (現在) watalu
行 1: 行 1:
 ==== Pythonの利用法 ==== ==== Pythonの利用法 ====
 +
 +=== 前提 ===
 +
 +Pythonは、処理系自体の実装はミニマルを心掛けていて、機能の追加はライブラリやモジュール、パッケージなどと呼ばれるPython自身で書かれたコード群によって行われる。C言語などのコンパイルしてバイナリを動かす仕組みでは、コンパイル済みのライブラリを実行時にロードするOSの仕組みを利用して、バイナリを小さくする工夫がある。Pythonでは、モジュールの読み込みがコードの中で明示され、ソースレベルで行われる。モジュールのソースは、読み込みを高速化するためにコンパイル済みのもの(拡張子はpyc)をキャッシュとしておいておく。キャッシュは削除すれば、またコンパイルし直される。
 +
 +  * import文の実行時に検索されるフォルダは[[https://docs.python.org/ja/3/tutorial/modules.html#the-module-search-path|sys.path]]に指定されている。その中身は次の情報に基づいて初期化される。
 +    * 入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。
 +    * PYTHONPATH (ディレクトリ名のリスト。シェル変数の PATH と同じ構文)。
 +    * インストールごとのデフォルト。
 +  * sys.pathはソースの中でも更新できる。
 +
 +インストールされていないモジュールを使用するには、ソースをダウンロードして、sys.pathでカバーされているフォルダのいずれかに展開する。これを手動でやるか、半自動でやるか、自動でやらせるか、の選択を実行環境(i以下、マシン)ごとに判断しなければならない。
  
 === 概況 === === 概況 ===
行 7: 行 19:
   * Pythonの言語開発プロジェクトは[[https://python.org/]]が本拠で、ソースが定期的に更新される。WindowsとmacOSのためのインストール用パッケージもここから提供されている。   * Pythonの言語開発プロジェクトは[[https://python.org/]]が本拠で、ソースが定期的に更新される。WindowsとmacOSのためのインストール用パッケージもここから提供されている。
   * 主なLinux Distroは公式のPythonインストールパッケージを提供しており、yum、apt-getで指定してインストールできる。   * 主なLinux Distroは公式のPythonインストールパッケージを提供しており、yum、apt-getで指定してインストールできる。
-  * Python独自のパッケージマネージpipがある。(PythonはTeXのmakeindexのようなコマンドは不要なライブラリ構造を持っているが、インストールの管理を補助するのがpipの役割) +  * Python独自のパッケージマネージャ[[https://pip.pypa.io/en/stable/|pip]]がある。(PythonはTeXのmakeindexのようなコマンドは不要なライブラリ構造を持っているが、インストールの管理を補助するのがpipの役割) 
-  * Pythonにはpyenvとvirtualenvという環境マネージャもある。+  * Pythonには[[https://github.com/pyenv/pyenv|pyenv]][[https://github.com/pyenv/pyenv-virtualenv|virtualenv]]という環境マネージャもある。
   * [[https://www.anaconda.com/|Anaconda]]をインストールすれば、なんでもこれで管理できる。パッケージマネージャと環境マネージャの双方の機能を併せ持つ。コマンドラインではcondaである。   * [[https://www.anaconda.com/|Anaconda]]をインストールすれば、なんでもこれで管理できる。パッケージマネージャと環境マネージャの双方の機能を併せ持つ。コマンドラインではcondaである。
   * Windows用には[[https://www.activestate.com/products/python/|Active Python]]もある。Windowsでは、[[https://www.cygwin.com/|CygWin]]の上でapt-cyg、もしくはBash on Ubuntu on Windowsの上でapt-get、という選択肢もある。   * Windows用には[[https://www.activestate.com/products/python/|Active Python]]もある。Windowsでは、[[https://www.cygwin.com/|CygWin]]の上でapt-cyg、もしくはBash on Ubuntu on Windowsの上でapt-get、という選択肢もある。
行 41: 行 53:
 インターネットにアクセスできるマシンの上では、Pythonを最小構成でインストールし、pip、pyenv、virtualenvを導入してから、必要な環境を構築するのが良い。例えば、次の順序に作業をしていくことになる。 インターネットにアクセスできるマシンの上では、Pythonを最小構成でインストールし、pip、pyenv、virtualenvを導入してから、必要な環境を構築するのが良い。例えば、次の順序に作業をしていくことになる。
  
-  - Pythonのインストール +  - Pythonの最小限のインストール 
-  - pipのインストール +  - [[https://pip.pypa.io/en/stable/|pip]]のインストール 
-  - pyenvのインストール +  - [[https://github.com/pyenv/pyenv|pyenv]]のインストール 
-  - pyenv-virtualenvのインストール+  - [[https://github.com/pyenv/pyenv-virtualenv|pyenv-virtualenv]]のインストール
   - pyenvを用いて、バージョンを指定してAnacondaをインストールするか、バージョンを指定してPythonをインストールする   - pyenvを用いて、バージョンを指定してAnacondaをインストールするか、バージョンを指定してPythonをインストールする
   - virtualenvで動作が確認された環境(のバージョン)を固定しておく   - virtualenvで動作が確認された環境(のバージョン)を固定しておく
  
 +初心者で、そのマシンの上で長く使うかどうか決めてない場合には、まずはAnacondaをインストールするのもよい。
  
 +オフラインなマシンの上では、AnacondaをUSBメモリで持ち込むか、Pythonのインストーラと必要なライブラリのパッケージを個別にネットから持ってきてUSBメモリで持ち込んで、ライブラリのフォルダに展開するかのいずれか。