Próbuję spakować pakiet pychess do pliku zip i zaimportować go za pomocą Zipimport, ale działa w niektórych przypadkach.Zipimport z pakietami
ja pakuje go w na kartę SD z następującym skryptem, który działa:
#!/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
Jednak jestem w stanie wykonać skomplikowane importu w moim kodu:
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
Jak mogę zaimportować, np. pychess.Utils.lutils.LBoard z pliku zip?
Oto pełna lista modułów muszę importować:
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
Dzięki!
Zmiana mój skrypt kompilacji używać "zf.writepy ('pychess')" wystarczyły. Dzięki! – tba