rmod2 という名前の Python モジュールをさまざまな方法でインポートしようとすると、一見奇妙な動作に気付きました。rmod2.pyファイルがあるディレクトリから python を起動すると、正常に動作します。ただし、ファイルを他のモジュールが配置されている別のフォルダーに移動すると、期待どおりに機能しなくなります。モジュール/パッケージ フォルダーは/usr/lib/pymodules/python2.7であり、 sys.pathにも含まれています。そのため、フォルダー/usr/lib/pymodules/python2.7/rmod2を作成し、そこに空の__init__.pyとrmod2.pyを配置しました。__init__.pyがない場合は、次のようになります。
>>> import rmod2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named rmod2
__init__.pyファイルを使用すると、インポートは機能しているように見えますが、パッケージは空です:
>>> import rmod2
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'rmod2']
>>> dir(rmod2)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
>>> rmod2.__path__
['/usr/lib/pymodules/python2.7/rmod2']
>>> rmod2.__file__
'/usr/lib/pymodules/python2.7/rmod2/__init__.py'
誰かが何が起こっているのか、またインポート時にモジュールの内容を実際にロードするように修正する方法を教えてもらえますか?