我使用Python的貼紙,當我的包具有目錄結構寫了一個簡單的Python包。我安裝包,我能夠調用module1.py函數從Python提示:如何使用Python的zipimport從包中訪問模塊?</p> <pre><code>pkg/ __init__.py module1.py subpackage/ __init__.py module2.py </code></pre> <p>的<strong>初始化</strong> .py文件是空白,module1.py包含進口的東西從module2.py功能:
import pkg.module1
我去安裝了包凡(/usr/lib/python2.7/dist-packages/包裝/)和郵編PKG目錄:
zip -r pkg.zip pkg/
我試圖從Python提示符訪問模塊使用的zipimport:
import zipimport
importer = zipimport.zipimporter('pkg.zip')
importer.find_module('pkg')
# <zipimporter object "pkg.zip">
importer.load_module('pkg')
# <module 'pkg' from 'pkg.zip/pkg/__init__.pyc'>
importer.is_package('pkg')
# True
pkg = importer.load_module('pkg')
# trying to call a function in module 1 called fcn1
pkg.module1.fcn1()
#Traceback (most recent call last):
#File "<stdin>", line 1, in <module>
#AttributeError: 'module' object has no attribute 'module1'
pkg.module1
#Traceback (most recent call last):
#File "<stdin>", line 1, in <module>
#AttributeError: 'module' object has no attribute 'module1'
關於如何訪問模塊1任何想法?謝謝。
爲什麼這個downvoted? –
如果你打電話給'dir(pkg)'可能會有幫助,你會得到什麼? –
我得到:['__builtins__','__doc__','__file__','__name__','__package__','__path__'] – user1910316