2012年2月23日木曜日

easy_install bad interpreter

pythonでモジュールのインストールに使う、“easy_install”をインストールして使おうとしたところ、
↓こんなエラーがでました。
$ sudo easy_install
-bash: /usr/local/bin/easy_install: .: bad interpreter: Permission denied


shebang(シェルスクリプトの1行目の#!で始まる行)を確認すると

#!.
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==0.6c11','console_scripts','easy_install'
__requires__ = 'setuptools==0.6c11'
import sys
from pkg_resources import load_entry_point

と、#!.になっていたので、pythonの実行ファイルのパスを指定したらエラーが起こらなくなりました。

$ sudo easy_install
error: No urls, filenames, or requirements specified (see --help)

なぜ、shebangがそんな風になっていたのか、原因は調べていません。

2012年2月21日火曜日

mysql-python MySQLdb ImportError: libmysqlclient_r.so.15

mysql-python(MySQLdb)をインストールして、以下のエラーが発生した場合、
共有オブジェクトにパスが通ってないのかもしれません。
その場合、ldconfigを使用して、当該shared objectにパスを通すと、動くようになります。

$ python
>>> import MySQLdb
Traceback (most recent call last):
File "", line 1, in
File "build/bdist.linux-i686/egg/MySQLdb/__init__.py", line 19, in
File "build/bdist.linux-i686/egg/_mysql.py", line 7, in
File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory
>>>

$ sudo vi /etc/ld.so.conf
Include ld.so.conf.d/*.conf
/usr/local/lib
/usr/lib/mysql ←これを追加。

$ sudo ldconfig

$ python
>>> import MySQLdb
>>>