在OSX 10上编译期间找不到py2app模块

时间:2015-03-02 16:43:18

标签: python macos py2app

使用py2app在(Mac OS 10.10)上将python脚本编译到Mac应用程序时出错 编译一直运行到结束,但给出错误信息。

设置脚本:

from setuptools import setup

APP = ['Main.py']
OPTIONS = {'iconfile':'LOGO.icns',}

setup(
    app = APP,
    options = {'py2app': OPTIONS},
    setup_requires = ['py2app'],
)

在主脚本上我只导入3个模块:

import os
from tkFileDialog import askdirectory
from Tkinter import Tk

我在终端中运行安装脚本,它创建了2个文件夹(build和Dist),但是Dist内的app文件没有做任何事情,甚至没有错误信息。

当我正在编译时,我会在“完成”之前收到此错误:

  

未找到模块(无条件导入):
  * 主要需要(pdb)
  * _weakref.CallableProxyType(_weakrefset)
  * _weakref.ProxyType(_weakrefset)
  * _weakref.ReferenceType(_weakrefset)
  * _weakref.getweakrefcount(_weakrefset)
  * _weakref.getweakrefs(_weakrefset)
  * _weakref.proxy(_weakrefset)
  * errno.EINVAL(os)
  * errno.ENOENT(os)
  * java.System(java.lang)
  * nt._getfullpathname(os)
  * nt._isdir(os)
  * org(copy,org.python.core)
  * org.PyStringMap(org.python)
  * org.python(copy,pickle)
  * org.python.core(pickle)
  * org.python.core.PyStringMap(copy)
  * pwd.getpwnam(getpass)
  * sys.py3kwarning(os)
  * thread._local(collections)
  * thread.allocate_lock(collections)
  * thread.stack_size(collections)
  * urllib.parse(pkg_resources)

     

未找到模块(条件导入):
  * _md5(hashlib)
  * _sha(hashlib)
  * importlib._bootstrap(pkg_resources)
  * java(平台)   * java.lang(平台)
  * riscospath(os)

如果我直接从终端运行主脚本,主脚本就可以工作。

任何想法??

1 个答案:

答案 0 :(得分:1)

这似乎是由太长的路径造成的。

My application is in a path 61 chars long:
$ pwd|wc -c
      61

我收到此错误:

  

找不到模块(条件导入):* importlib._bootstrap   (通过pkg_resources)

如果我删除路径中的几个字符,构建就会起作用:

$ pwd|wc -c
      59