我正在使用Py2exe和ConfigParser,但我遇到了somo问题。
我已经从pip(pip install configparser)安装了configparser,它运行正常。在我的代码中,我导入了像import ConfigParser
这样的包,当我执行工作时。
现在我使用py2exe进行分发,输出控制台消息是:
The following modules appear to be missing
['Carbon', 'Carbon.Files', '_sysconfigdata', 'backports.configparser']
当我执行.exe文件时,错误消息是:
File "GUI.py", line 14, in <module>
File "configparser.pyc", line 12, in <module>
ImportError: No module named backports.configparser
我尝试过使用其他类型的导入:
from backports import configparser
要么
import backports, backports.configparser
结果是一样的。
我的setup.py文件:
from distutils.core import setup
import py2exe
opts = {
'py2exe': { 'includes' : ["sys","sip", "time", "decimal"],
'excludes': ['_gtkagg', '_tkagg', '_agg2', '_cairo', '_cocoaagg','_fltkagg', '_gtk', '_gtkcairo'],
'dll_excludes': ['oci.dll','libgdk-win32-2.0-0.dll','libgobject-2.0-0.dll']}
}
data_files=[]
setup(
name='Actualizador',
version='1.0',
package={'./img/*', './campos/*'},
scripts=['GUI.py'],
console=['GUI.py'],
#windows=["GUI.py"],
options=opts,
data_files=data_files,
zipfile=None
)
我无法进行分发而无法解决问题。有什么建议吗?
谢谢
答案 0 :(得分:1)
我解决了问题: - )
py2exe使用目录构建来跳过一些尚未编译的包的编译。好吧,我删除了目录,我将backports路径添加到系统路径,然后我再次进行分发。而魔术!这有效......