Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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_Flask_Importerror_Py2app - Fatal编程技术网

Python py2app可以';找不到已安装和包含的软件包

Python py2app可以';找不到已安装和包含的软件包,python,flask,importerror,py2app,Python,Flask,Importerror,Py2app,我正在尝试用py2app构建一个.app,在本地启动一个Flask应用程序(目前,无论是托管应用程序还是使用pyinstaller都不是选项) 我正在使用以下工具构建setup.py: python setup.py py2app --packages=jinja2,flask,message 我的setup.py看起来像: from setuptools import setup APP = ['Glutton.py'] DATA_FILES = [] PKGS = ['jinja2',

我正在尝试用py2app构建一个.app,在本地启动一个Flask应用程序(目前,无论是托管应用程序还是使用pyinstaller都不是选项)

我正在使用以下工具构建setup.py:

python setup.py py2app --packages=jinja2,flask,message
我的setup.py看起来像:

from setuptools import setup

APP = ['Glutton.py']
DATA_FILES = []
PKGS = ['jinja2', 'flask', 'message']
OPTIONS = {'argv_emulation': True,
 'iconfile': '/blahblahblah/glutton.icns',
 'packages': PKGS
 }

setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app', 'flask', 'jinja2', 'message'],
)
但是,在控制台中,我得到了
ImportError:No module named message
尽管消息已安装,并且从python REPL加载良好,并且显式地包含在
setup.py
和py2app命令行调用中

以下是完整的回溯:

10/27/15 3:34:45.195 PM Glutton[51755]: Traceback (most recent call last):
10/27/15 3:34:45.195 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/Glutton.py", line 182, in <module>
10/27/15 3:34:45.195 PM Glutton[51755]:     app.run(debug=True) # Can cause the tabe to open multiple times --
10/27/15 3:34:45.195 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/flask/app.py", line 772, in run
10/27/15 3:34:45.451 PM Glutton[51755]:     run_simple(host, port, self, **options)
10/27/15 3:34:45.451 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/serving.py", line 708, in run_simple
10/27/15 3:34:45.640 PM Glutton[51755]:     run_with_reloader(inner, extra_files, reloader_interval)
10/27/15 3:34:45.640 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/serving.py", line 613, in run_with_reloader
10/27/15 3:34:45.640 PM Glutton[51755]:     reloader_loop(extra_files, interval)
10/27/15 3:34:45.640 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/serving.py", line 519, in _reloader_stat_loop
10/27/15 3:34:45.641 PM Glutton[51755]:     for filename in chain(_iter_module_files(), extra_files or ()):
10/27/15 3:34:45.641 PM Glutton[51755]:   File "/Users/alexloewi/Documents/Sites/glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/serving.py", line 493, in _iter_module_files
10/27/15 3:34:45.641 PM Glutton[51755]:     filename = getattr(module, '__file__', None)
10/27/15 3:34:45.641 PM Glutton[51755]:   File "email/__init__.pyc", line 79, in __getattr__
10/27/15 3:34:45.741 PM Glutton[51755]: ImportError
10/27/15 3:34:45.741 PM Glutton[51755]: ImportError: No module named message
10/27/15 3:34:45.195下午暴食[51755]:回溯(最近一次呼叫最后一次):
2015年10月27日3:34:45.195下午GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/Glutton.py”,第182行
2015年10月27日3:34:45.195下午暴食[51755]:app.run(debug=True)#会导致选项卡多次打开--
2015年10月27日3:34:45.195 PM GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/flask/app.py”,第772行,运行中
2015年10月27日3:34:45.451下午暴食[51755]:简单运行(主机、端口、自身,**选项)
2015年10月27日下午3:34:45.451 GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/service.py”,第708行,运行中
2015年10月27日3:34:45.640 PM GLUTON[51755]:使用重新加载程序运行(内部、额外文件、重新加载间隔)
2015年10月27日3:34:45.640 PM GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/service.py”,第613行,在重新加载程序的情况下运行
2015年10月27日3:34:45.640下午暴食[51755]:重新加载循环(额外文件,间隔)
2015年10月27日3:34:45.640 PM GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/service.py”,第519行,在“重新加载程序”统计循环中
2015年10月27日3:34:45.641 PM GLUTON[51755]:对于链中的文件名(\u iter\u module\u files()、extra\u files或()):
2015年10月27日下午3:34:45.641 GLUTON[51755]:文件“/Users/alexloewi/Documents/Sites/Glutton/dist/Glutton.app/Contents/Resources/lib/python2.7/werkzeug/service.py”,第493行,在iter模块文件中
2015年10月27日3:34:45.641下午暴食[51755]:filename=getattr(模块'.\u文件'.\u',无)
2015年10月27日3:34:45.641下午暴食[51755]:文件“email/_init__.pyc”,第79行,在_getattr中__
2015年10月27日下午3:34:45.741贪吃[51755]:恐怖
2015年10月27日3:34:45.741下午暴食[51755]:导入错误:没有模块命名消息
问题是,我只是把“消息”放在第一位,因为当我尝试运行我的应用程序(构建时没有提到“消息”),py2app控制台告诉我没有这样的模块。我甚至不知道需要它的是什么——我当然不知道,而且当手动启动时,它运行良好。再次查看控制台,它似乎是werkzeug,但当我尝试显式地包含它时(我认为flask会自动这样做),仍然找不到消息

我最好的猜测是,这是一个多蟒蛇/虚拟环境的东西,但我对它知之甚少,而且它似乎是一个黑暗和不祥的兔子洞,没有对py2app更深入的理解


非常感谢,

模块“flask”、“jinja2”、“message”只是.py文件,还是包含itit.py文件的完整软件包

尝试:

如果它们是您创建并从“Glutton.py”调用的.py模块

setup(py_modules=['flask', 'jinja2', 'message']