当试图运行用pyInstaller打包的脚本时,我得到了
AttributeError: module 'nbt' has no attribute 'world'
在第1行,from nbt import nbt
。
在Linux和Windows上都会发生这种情况
我尝试了不同的导入,例如from nbt.nbt import NBTFile
或import nbt
如果我注释掉这一行,则每个其他导入都会起作用,并且只有在点击使用此导入的第一行后脚本才会停止。
在使用pyinstaller [name].py -F -d
打包后运行脚本时的调试消息没有帮助。文档也没有帮助。
可能导致此问题的任何提示?
使用:
Python 3.5
pyInstaller 3.2.1
NBT 1.4.1
答案 0 :(得分:1)
似乎您发现了PyInstaller无法识别的导入内容。您应该帮助PyInstaller查找模块.spec file或hooks - 请参阅example,使用外部模块 - 或直接使用hidden import。
我设法使用命令行from string import Template
t = Template('this string takes two like $one and $two')
y = t.safe_substitute(one=1)
print(y) # this string takes two like 1 and $two
z = Template(y).safe_substitute(two=2)
print(z) # this string takes two like 1 and 2
构建工作分发。