我正在使用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
  )


我无法分发,也无法解决问题。有什么建议吗?

谢谢

最佳答案

我解决了问题:-)

py2exe使用目录构建来跳过尚未编译的某些软件包的编译。好吧,我删除目录,将backports路径添加到系统路径,然后再次进行分发。和魔术!这样可行 ...

关于python - Py2exe和ConfigParser错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41696023/

10-13 09:06