モジュールをインポートするときの優先順位と、それを変更する方法について混乱しています。
現在のディレクトリには以下が含まれています:
l10n/__init__.py
l10n/moneyfmt.py
追加のパッケージを含む別のディレクトリ (現在とは異なる) には、以下が含まれます。
/opt/l10n/__init__.py
/opt/l10n/utils.py
現在、Python インタラクティブ インタープリターを実行しています。
>>> import sys
>>> sys.path
['', '/usr/lib/python27.zip', '/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL',
'/usr/lib/python2.7/site-packages/gtk-2.0',
'/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info']
>>> import l10n.utils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named utils # CORRECT, NOT IN PATH YET
>>> sys.path.insert(0, '/opt')
>>> sys.path
['/opt', '', '/usr/lib/python27.zip', '/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/PIL',
'/usr/lib/python2.7/site-packages/gtk-2.0',
'/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info']
>>> import l10n.utils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named utils # WHY IT CAN NOT FIND THE MODULE?
sys.path の検索パスにフルパスを追加した後、 l10n.utils モジュールを含むパッケージが見つからないのはなぜですか? ここでは常に現在のディレクトリが優先されますか? 変更できますか?