gpt4 book ai didi

python - py2app 错误 : in find_needed_modules TypeError: 'NoneType' object has no attribute '__getitem__'

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:46 26 4
gpt4 key购买 nike

我在使用 py2app 时遇到了一些麻烦;出于某种原因,我开发的所有脚本总是出现相同的错误。目前我使用的是最新的 MacPorts 版本,经过两天的测试后我无法找出问题所在。

py2app 的 setup.py 文件之一是:

from setuptools import setup

APP = ['main.py']
OPTIONS = {'argv_emulation': True, 'includes': ['sip', 'PyQt4._qt', 'PyQt4.QtCore', 'PyQt4.QtGui'],
'excludes': ['PyQt4.QtDesigner', 'PyQt4.QtNetwork', 'PyQt4.QtOpenGL', 'PyQt4.QtScript', 'PyQt4.QtSql', 'PyQt4.QtTest', 'PyQt4.QtWebKit', 'PyQt4.QtXml', 'PyQt4.phonon']}

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

这是日志:

python setup.py py2app
running py2app
creating /Users/opensw/SkyDrive/SISSA/Kymograph/build/bdist.macosx-10.6-intel/python2.7-standalone/app
creating /Users/opensw/SkyDrive/SISSA/Kymograph/build/bdist.macosx-10.6-intel/python2.7-standalone/app/collect
creating /Users/opensw/SkyDrive/SISSA/Kymograph/build/bdist.macosx-10.6-intel/python2.7-standalone/app/temp
creating build/bdist.macosx-10.6-intel/python2.7-standalone/app/lib-dynload
creating build/bdist.macosx-10.6-intel/python2.7-standalone/app/Frameworks
*** using recipe: virtualenv ***
WARNING: ImportError in sip recipe ignored: No module named matplotlib-1
WARNING: ImportError in sip recipe ignored: No module named scipy-0
*** using recipe: sip ***
*** using recipe: matplotlib ***
*** using recipe: scipy ***
Traceback (most recent call last):
File "setup.py", line 10, in <module>
setup_requires=['py2app'],
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/opensw/SkyDrive/SISSA/Kymograph/py2app-0.7.3-py2.7.egg/py2app/build_app.py", line 553, in run
self._run()
File "/Users/opensw/SkyDrive/SISSA/Kymograph/py2app-0.7.3-py2.7.egg/py2app/build_app.py", line 741, in _run
self.run_normal()
File "/Users/opensw/SkyDrive/SISSA/Kymograph/py2app-0.7.3-py2.7.egg/py2app/build_app.py", line 816, in run_normal
self.process_recipes(mf, filters, flatpackages, loader_files)
File "/Users/opensw/SkyDrive/SISSA/Kymograph/py2app-0.7.3-py2.7.egg/py2app/build_app.py", line 710, in process_recipes
find_needed_modules(mf, packages=rval['packages'])
File "build/bdist.macosx-10.6-intel/egg/modulegraph/find_modules.py", line 199, in find_needed_modules
TypeError: 'NoneType' object has no attribute '__getitem__'

感谢您的帮助。

最佳答案

问题是一些错误的输入已传递给算法,该算法试图检测依赖关系以便将它们打包到您的应用程序中 - 我遇到问题的地方之一是在中使用 github 风格的 markdown打包 README.md 文件。

这是调试 setup.py 问题的一般指南,或者实际上是一般的 python 问题。

  1. 以交互模式再次运行它,即 python -i setup.py py2appsetup.py 退出后,您会发现自己处于 python 提示符下。

  2. 运行 from pdb import pm;下午()。您现在应该会发现自己处于调试提示符下。

  3. 键入 up 并按回车键 - 您现在在堆栈中处于更高一帧 - 您可以键入 list 以查看当前帧在源代码中的位置被定位,args 来查看传递给当前帧的参数(通常是函数或方法)。您还可以运行 python 命令来检查当前状态,并运行 pp var 来漂亮地打印该变量。

  4. 重复上述步骤几次后,您会发现哪里遇到了错误 - 在我遇到的情况下,它是一个 README 文件,我发现了一个名为 lineno 的变量,它给出了导致错误的我的自述文件行。如果你的问题是模块导入,它可能会有所不同,但我的直觉是你会发现自己循环遍历堆栈跟踪中看到的 packages 参数,并且当前列表项将成为您问题的关键。

关于python - py2app 错误 : in find_needed_modules TypeError: 'NoneType' object has no attribute '__getitem__' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16131500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com