Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python py2app-未找到模块(条件导入)_Python_Tkinter_Py2app - Fatal编程技术网

Python py2app-未找到模块(条件导入)

Python py2app-未找到模块(条件导入),python,tkinter,py2app,Python,Tkinter,Py2app,我目前正在和Tkinter一起做一个个人项目,我想把所有东西都打包到macOS应用程序中 不幸的是,创建生产构建的命令不起作用,我总是有一个与“找不到模块”相关的错误 我试过很多解决办法,但都不管用 我使用的模块包括: tkinter subliminal tkmacosx 关于未找到模块的消息是警告,而不是错误。这些可能是问题,也可能不是问题,但通常不是。特别是,如果您使用Python3(因为这些是Python2 stdlib中名称的导入),那么从各种“compat”模块中使用的缺少的可选模

我目前正在和Tkinter一起做一个个人项目,我想把所有东西都打包到macOS应用程序中

不幸的是,创建生产构建的命令不起作用,我总是有一个与“找不到模块”相关的错误

我试过很多解决办法,但都不管用

我使用的模块包括:

tkinter
subliminal
tkmacosx

关于未找到模块的消息是警告,而不是错误。这些可能是问题,也可能不是问题,但通常不是。特别是,如果您使用Python3(因为这些是Python2 stdlib中名称的导入),那么从各种“compat”模块中使用的缺少的可选模块几乎肯定是无害的

乍一看,缺少的“sympy”、“regex”和“yaml”可能有问题,您可以尝试安装这些python包

作为背景,PyObjC在构建结束时显示了3个缺失模块的列表(假设类别中存在缺失模块):

  • 无条件导入:这些导入总是在导入模块时执行(顶级导入和类范围内的导入)

    这些往往是有问题的,除非包含导入的模块本身是可选的

  • 条件导入:这些导入是有条件的,因为它们是在函数中完成的,或者是在某种条件语句中完成的

    这些往往是无害的

  • “from FOO import NAME”语句中缺少名称:在这些语句中,“NAME”可以引用导入模块中的模块或定义。Py2app在无法100%清楚名称是否指向模块时报告这些

    这些往往是无害的,尤其是当模块(“FOO”)是C扩展时


  • 嗨,罗纳德,谢谢你的解释。我想知道为什么我无法编译我的应用程序,所以我尝试重写所有内容,并试图找到导致应用程序崩溃的依赖项或代码行。所以,经过几次测试后,我发现当我将subliminal添加为python导入和编译时,该应用程序将无法工作..启动该应用程序时是否收到错误消息?查看错误消息的最简单方法是从终端启动应用程序(“./dist/MyApp.app/Contents/MacOS/MyApp”,将MyApp替换为您的应用程序名称)噢,哇,谢谢!我可以调试!这很奇怪,因为我有一个模块导入错误。模块“babelfish”正在开发中,但当我编译应用程序并运行它时,我遇到了错误:
    文件“babelfish/language.pyc”,第178行,在文件“babelfish/language.pyc”中,第150行,在文件“babelfish/converts/”中,第246行,在文件“pkg\u resources/”中,在resolve ModuleNotFoundError:没有名为“babelfish.converters.alpha2”的模块中
    最后,我通过使用
    python3 setup.py py2app--packages=babelfish
    来编译我的应用程序,找到了解决之前错误的方法。我总是因为编译而出错。我使用的潜意识软件包无法获取字幕。它似乎使用xmlrpc_客户端。。它在开发模式下工作,但不适用于已编译的应用程序。
    tkinter
    subliminal
    tkmacosx