Python, Ruby でコーディングする際に躓いた Perl ならわかるんだけど…
な事柄のハウツー。2008-06-18 更新。Special thanks to ミラクル組。
リンク
- 文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++
- http://0xcc.net/blog/archives/000137.html
- 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++
- http://0xcc.net/blog/archives/000043.html
バージョン番号
コマンドライン
- Perl
-
$ perl -v This is perl, v5.10.0 built for x8664-linux-gnu-thread-multi いっぱい $ perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: もっといっぱい $ perl -e 'print $],"\n"' 5.010000 - Python
-
$ python -v Python 2.5.2 $ python -c 'import sys; print "%d.%d.%d" % sys.versioninfo[:3]' 2.5.2 $ python -c 'import sys; print "%d.%d" % sys.versioninfo[:2]' 2.5
$ ruby -v
ruby 1.8.7 (2008-05-31 patchlevel 0) [x8664-linux]
標準モジュールパスの表示
コマンドライン
- Perl
-
$ perl -e 'print map {"$\n"} @INC' /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/siteperl . $ perl \ -V:installsitearch \ -V:installsitelib \ -V:installvendorarch \ -V:installvendorlib \ -V:installarchlib \ -V:installprivlib installsitearch='/usr/local/lib/perl/5.10.0'; installsitelib='/usr/local/share/perl/5.10.0'; installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5'; installarchlib='/usr/lib/perl/5.10'; installprivlib='/usr/share/perl/5.10'; - Python
- FIXME: Python 2.5(?) には vendor-packages もあるみたい。
$ python -c 'import sys; print sys.path' ['', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/PIL', '/var/lib/python-support/python2.5', '/var/lib/python-support/python2.5/gtk-2.0'] $ python -c 'from distutils.sysconfig import getpythonlib; print getpythonlib()' /usr/lib/python2.5/site-packages
$ ruby -e 'puts $LOAD_PATH'
モジュール検索パスの追加
環境変数
- Perl
-
$ export PERL5LIB='/site/lib/perl' - Python
-
$ export PYTHONPATH='/site/lib/python'
$ echo '/site/lib/python' >/usr/lib/python2.5/site-packages/site.pth
$ export RUBYLIB='/site/lib/ruby'
スクリプト
- Perl
-
use lib '/site/lib/perl'; - Python
-
import sys sys.path.append("/site/lib/python") -
import site; site.addsitedir('/site/lib/python')
puts $LOAD_PATH.push("/site/lib/ruby")





2個のコメント
ふみやす師匠、おひさしぶりです。
以下、お役に立てれば幸いです。
標準モジュールパスの表示 $ ruby -e ‘puts $LOAD_PATH’
モジュール検索パスの追加(スクリプト) $ ruby -e ‘puts $LOAD_PATH.push(“/site/lib/ruby”)’
ふみやすさん、どうもです。
python だと、以下の方法でも可能だと思います。
モジュール検索パスの表示 python -c ‘import sys; print sys.path;’
モジュール検索パスの追加(スクリプト) python -c ‘import sys; sys.path.append(“/site/lib/python”); print sys.path’