「Python」の版間の差分

提供: MacWiki
移動: 案内検索
行56: 行56:
 
http://ipython.scipy.org/
 
http://ipython.scipy.org/
  
* IPython 0.10.x は、は Python 2.5 と 2.6 を公式にはサポート
+
* IPython 0.10.0 は、Python 2.5 と 2.6 を公式にはサポート
 +
* IPython 0.10.1 は、Python 2.7 もサポート
 +
** Python 2.7.x をサポートした IPython は,"ipython-2.7" というコマンド名。例として、
 +
$ ipython-2.7
 +
Python 2.7.1 (r271:86832, Jun  8 2011, 00:46:58)
 +
Type "copyright", "credits" or "license" for more information.
 +
IPython 0.10.1 -- An enhanced Interactive Python.
 +
 
  
 
=== setuptools===
 
=== setuptools===

2011年7月24日 (日) 18:24時点における版

Pythonとは?

スクリプト言語の1つ。(Mac OS X に標準搭載されている。)

インストール

モジュールのインストールについて

  • python本体とモジュールの整合に注意が必要
    • architecture:MacOSX 10.6 標準には,universal: 64 bit (x86_64)/ 32 bit (i386)/ ppc の Python 2.6.1 と NumPy 1.2.1 がインストールされる。
  • インストール済みモジュールを調べる
    • バージョン(例 numpy)
$ python -c "import numpy;print numpy.__version__"
1.2.1
  • モジュールのarchitectureを調べる
    • 例 numpy
$ file /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/numpy/lib/_compiled_base.so
    • 例 math
$ python -c "import math;print dir(math);import commands;print commands.getoutput('file ' + math.__file__)"
    • 調べ方が統一されているわけではない

site-packagesディレクトリ

モジュール情報が収められるディレクトリ

MacOSX 10.5標準pythonでの例

/Library/Python/2.5/site-packages

python-2.5.x.dmgでの例

/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/

python本体のインストール

標準搭載版でないpythonをインストール http://www.python.org/download

  • python-3.1.x.dmg
  • python-2.7.x.dmg
  • python-2.6.x.dmg
  • python-2.5.x.dmg

Enthought Python Distribution

Python 3.xのインストール

http://www.r-styles.net/mt-archives/weblog/development/python30-on-leopard.html

Pythonを支援する環境・ツール

IPython

python用の対話型シェル環境

  • Python標準シェルに比べて高機能

http://ipython.scipy.org/

  • IPython 0.10.0 は、Python 2.5 と 2.6 を公式にはサポート
  • IPython 0.10.1 は、Python 2.7 もサポート
    • Python 2.7.x をサポートした IPython は,"ipython-2.7" というコマンド名。例として、
$ ipython-2.7
Python 2.7.1 (r271:86832, Jun   8 2011, 00:46:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.10.1 -- An enhanced Interactive Python.


setuptools

一部のモジュールに対して管理機能(インストール等)を提供

$ sh setuptools-0.6c11-py2.5.egg


  • インストール作業例2

setuptools-0.6c11 をインストールしてくれるスクリプトの利用

$ rm -v ez_setup.py
$ curl -O http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py

既存のsetuptoolsをアップデートには

$ sudo python ez_setup.py -U setuptools


PIP

PyPI のモジュールに対して管理機能(インストール等)を提供

$ sudo easy_install pip
$ sudo pip search numpy


モジュール

SciPy

科学技術計算関数を提供。

  • macports からもインストール可能。
  • SciPy 0.7.x は Python 2.6 までをサポート
  • SciPy 0.8.0 は Python 2.4 - 2.6 までをサポート
  • SciPy 0.9.0 は Python 2.4 - 2.7 及び 3.1 をサポート( NumPy 1.5 が必要)

SciPyについての説明等:

インストール

$ python -c "from distutils import util;print util.get_platform()"
macosx-10.6-universal
$ python setup.py install
:
:
Can't install when cross-compiling


Scipy Superpack

  • 下記の各種バイナリ+ソースのインストーラー。Snow Leopard(GCC 4.2.1, Python 2.6.1)環境向けにビルドされている。ただし安定版とは限らないので注意が必要。superpack_10.6_2010.12.15.sh。
    • numpy-2.0.0.dev_799179d_20101215, matplotlib-1.0.0, scipy-0.10.0.dev_20101215, pymc-2.1beta_20101215
    • setuptools-0.6c11 (ez_setup.py), readline, ipython-0.11.dev, nose 0.11, DateUtils
    • gfortran 4.2.4(42-5664) (optional) Xcode 3.2.3--3.2.5向けビルド


NumPy

数値計算向け環境 http://docs.scipy.org/doc/numpy/reference/routines.html

  • 関数抜粋とMATLAB比較: http://mathesaurus.sourceforge.net/matlab-numpy.html
  • NumPy 1.2.x は Python 2.6 までをサポート
    • MacOSX 10.6 には Python 2.6.1 と NumPy 1.2.1 とが標準で入っている
  • NumPy 1.3.x や 1.4.x は Python 2.6 までをサポート
  • NumPy 1.5.x は Python 3.1 までをサポート
    • MacOSX 10.7 には Python 2.7.1 と NumPy 1.5.1 とが標準で入っている
  • NumPy 1.6.x は Python 3.2 までをサポート

Matplotlib

2Dプロット環境

動作例

$ ipython -pylab
In [1]: x = randn(10000)
In [2]: hist(x, 100)
In [3]: quit

インストール

Matplotlib Basemap Toolkit

地図とデータをプロット http://matplotlib.sourceforge.net/basemap/doc/html/ http://www.scipy.org/Cookbook/Matplotlib/Maps

coastline データは GSHHS のもの(http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html) . state, country, river データは GMT のもの(http://gmt.soest.hawaii.edu).

lxml

xml処理.

libxml2とlibxsltをインストール後、easy_installでlxmlをインストール

$ curl -O ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
$ curl -O ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
$ cd libxml2-2.7.8
$ ./configure --prefix=/usr/local/libxml2-2.7.8 CC="gcc -arch i386 -arch x86_64"  CXX="g++ -arch i386 -arch x86_64" CPP="gcc -E" CXXCPP="g++ -E"
$ make
$ sudo make install
$ cd ../libxslt-1.1.26
$ ./configure --prefix=/usr/local/libxslt-1.1.26 --with-libxml-prefix=/usr/local/libxml2-2.7.8
$ make
$ sudo make install
$ sudo ln -s /usr/local/libxml2-2.7.8/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/    # for Mac OSX 10.6 default Python
$ sudo ln -s /usr/local/libxslt-1.1.26/lib/python2.6/site-packages/* /Library/Python/2.6/site-packages/    # for Mac OSX 10.6 default Python
$ STATIC_DEPS=true sudo easy_install 'lxml>=2.3'

テスト

$ curl -O http://codespeak.net/lxml/lxml-2.3.tgz
$ cd lxml-2.3
$ python selftest.py
184 tests ok.
$ python selftest2.py
106 tests ok.


obspy

地震計データの処理.http://svn.geophysik.uni-muenchen.de/trac/obspy/wiki/

  • インストール例
$ svn checkout https://svn.geophysik.uni-muenchen.de/svn/obspy obspy
$ cd obspy
$ python
>>> import commands
>>> list=["",'arclink','core','fissures','gse2','imaging','mseed','sac','seisan','seishub','signal','wav','xseed']
>>> for x in list:
>>>     if x != "": x = '.' + x
>>>     commands.getoutput('(cd obspy' + x + '/trunk; python setup.py develop)')

PyOpenGL

OpenGL for Python http://sourceforge.net/projects/pyopengl/

  • インストール例
$ unzip PyOpenGL-3.0.1.zip
$ cd PyOpenGL-3.0.1
$ python setup.py install 
  • テスト例

globe.py (minimum spanning tree on a sphere)を試す. http://www.treedub.org/blog/wp-content/uploads/2007/09/globe.tar.gz

$ python globe.py 20

関連情報

Wiki内

Wiki外

Pythonについての情報