「Python」の版間の差分
行73: | 行73: | ||
既存のsetuptoolsをアップデートには | 既存のsetuptoolsをアップデートには | ||
$ sudo python ez_setup.py -U setuptools | $ sudo python ez_setup.py -U setuptools | ||
+ | |||
+ | |||
+ | === PIP === | ||
+ | PyPI のモジュールに対して管理機能(インストール等)を提供 | ||
+ | $ sudo easy_install pip | ||
+ | $ sudo pip search numpy | ||
+ | |||
==モジュール== | ==モジュール== | ||
行123: | 行130: | ||
* NumPy 1.5.x は Python 3.1 までをサポート | * NumPy 1.5.x は Python 3.1 までをサポート | ||
** MacOSX 10.7 には Python 2.7.1 と NumPy 1.5.1 とが標準で入っている | ** MacOSX 10.7 には Python 2.7.1 と NumPy 1.5.1 とが標準で入っている | ||
+ | * NumPy 1.6.x は Python 3.2 までをサポート | ||
*Mac標準搭載Pythonで利用する場合には → http://radpy.blogspot.com/2009/06/numpymac.html | *Mac標準搭載Pythonで利用する場合には → http://radpy.blogspot.com/2009/06/numpymac.html |
2011年7月24日 (日) 18:05時点における版
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
- SciPy, matplotlib などを同梱したディストリビューション。
- http://www.enthought.com/products/
Python 3.xのインストール
http://www.r-styles.net/mt-archives/weblog/development/python30-on-leopard.html
Pythonを支援する環境・ツール
IPython
python用の対話型シェル環境
- Python標準シェルに比べて高機能
- IPython 0.10.x は、は Python 2.5 と 2.6 を公式にはサポート
setuptools
一部のモジュールに対して管理機能(インストール等)を提供
- http://pypi.python.org/pypi/setuptools
- easy_installコマンドも提供
- インストール作業例
$ 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についての説明等:
- http://ja.wikipedia.org/wiki/SciPy
- http://alias.dip.jp/blog/archives/category/research/scipy
- http://scipy.dip.jp/index.php?SciPy
インストール
- Mac OS X 10.5.7 Leopardへインストール
- Building 64bit NumPy/SciPy/PyLab on Snow Leopard
- Mac OS X の標準状態は伝統的に SciPy(及び matplotlib、basemapなど)のインストールが容易ではないらしい.標準のPython+NumPyの下で率直にインストールを行うと下記のようなエラーとなる.(scipy-0.7.2、MacOSX 10.6.3 で確認)
$ 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 までをサポート
- Mac標準搭載Pythonで利用する場合には → http://radpy.blogspot.com/2009/06/numpymac.html
Matplotlib
2Dプロット環境
動作例
$ ipython -pylab In [1]: x = randn(10000) In [2]: hist(x, 100) In [3]: quit
インストール
- matplotlib-1.0.0-python.org-py2.6-macosx10.4.dmgほか
- Building matplotlib for Snow Leopard
- Notes for how to setup a 64-bit Mac with important Python development tools
- NASA Modeling Guru: Installing MatplotLib and BaseMaps on Mac OSX
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処理.
- "Pythonic binding for the libxml2 and libxslt libraries" とのこと
- http://codespeak.net/lxml
- インストール例
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内
- PythonTips
- リスト/開発ツール
- リスト/UNIXパッケージ/Python
- 共有コード
Wiki外
Pythonについての情報