【发布时间】:2012-05-15 05:10:24
【问题描述】:
我正在尝试将 pychess 包打包成一个 zip 文件并使用 zipimport 将其导入,但遇到了一些问题。
我已使用以下脚本将其打包成一个 zip 文件,该脚本有效:
#!/usr/bin/env python
import zipfile
zf = zipfile.PyZipFile('../pychess.zip.mod', mode='w')
try:
zf.writepy('.')
finally:
zf.close()
for name in zf.namelist():
print name
但是,我无法在我的代码中进行复杂的导入:
z = zipimport.zipimporter('./pychess.zip.mod')
#z.load_module('pychess') # zipimport.ZipImportError: can't find module 'pychess'
#z.load_module('Utils.lutils') # zipimport.ZipImportError: can't find module 'Utils.lutils'
Utils = z.load_module('Utils') # seems to work, but...
from Utils import lutils
#from Utils.lutils import LBoard # ImportError: No module named pychess.Utils.const
如何导入,例如pychess.Utils.lutils.LBoard 来自 zip 文件?
这是我需要导入的完整模块列表:
import pychess
from pychess.Utils.lutils import LBoard
from pychess.Utils.const import *
from pychess.Utils.lutils import lmovegen
from pychess.Utils.lutils import lmove
谢谢!
【问题讨论】:
标签: python import importerror