1
我的sys.path是象下面這樣:爲什麼一個目錄是python系統路徑中另一個目錄的子目錄?
/homel/ychao/python/python_lib
/usr/lib64/python27.zip
/usr/lib64/python2.7
/usr/lib64/python2.7/plat-linux2
/usr/lib64/python2.7/lib-tk
/usr/lib64/python2.7/lib-old
/usr/lib64/python2.7/lib-dynload
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/PIL
/usr/lib64/python2.7/site-packages/gst-0.10
/usr/lib64/python2.7/site-packages/gtk-2.0
/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
/usr/lib/python2.7/site-packages/IPython/extensions
我注意到有一些一些目錄裏面全是子目錄/usr/lib64/python2.7,怎麼會是這樣?如果我刪除了所有的子目錄,並作出這樣的sys.path中:
/homel/ychao/python/python_lib
/usr/lib64/python2.7
/usr/lib/python2.7/site-packages
一些軟件包,我可以導入之前將修改後失效。所以這意味着「導入」不知道遞歸地找到合適的包?
謝謝!
感謝您的解釋。我不太瞭解最後一部分。你能進一步解釋嗎? 「如果直接在搜索路徑上找不到util.py或util/__ init__.py,則遞歸處理會導致ham.util以錯誤的名稱導入,從而導致Python的程序包/模塊名稱空間無效。」 – wiswit