【发布时间】:2018-07-05 23:47:54
【问题描述】:
如果我使用 python main.py 在本地运行我的代码,则此错误会在本地发生。如果我使用 python3 main.py 运行它,它会按预期工作。我怀疑我的 azure app 服务没有运行正确版本的 python,但是,它设置为 python 3.4
StdErr:
2018-06-30 19:47:13.785205: Unhandled exception in wfastcgi.py: Traceback (most recent call last):
File "D:\Python34\Scripts\wfastcgi.py", line 711, in main
env, handler = read_wsgi_handler(response.physical_path)
File "D:\Python34\Scripts\wfastcgi.py", line 568, in read_wsgi_handler
return env, get_wsgi_handler(handler_name)
File "D:\Python34\Scripts\wfastcgi.py", line 541, in get_wsgi_handler
handler = handler()
File ".\ptvs_virtualenv_proxy.py", line 120, in get_venv_handler
handler = get_wsgi_handler(os.getenv('WSGI_ALT_VIRTUALENV_HANDLER'))
File ".\ptvs_virtualenv_proxy.py", line 89, in get_wsgi_handler
raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb))
ValueError: "main.app" could not be imported: Traceback (most recent call last):
File ".\ptvs_virtualenv_proxy.py", line 73, in get_wsgi_handler
handler = __import__(module_name, fromlist=[name_list[0][0]])
File "D:\home\site\wwwroot\main.py", line 2, in <module>
from newspaper import Article
ImportError: No module named 'newspaper'
更新
所以我在 kudo 中进入调试控制台并运行 python
-m pip install --upgrade -r d:\home\site\wwwroot\requirements.txt.
这是错误
ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\noperable program or batch file.\r\n" ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt
其中一个要求是需要 libxml2 和 libxslt 的 Pillow。但是我尝试过使用轮子,但没有成功。
更新二 我尝试安装 virtualenv,因为它不存在并且我收到权限错误。
更新 III 我运行了这个命令
D:\home\python364x64>python -m pip install newspaper3k
我在本地测试了所有内容,并且效果很好。我在下面推送并收到此错误。
Error occurred while reading WSGI handler:
Traceback (most recent call last):
File "D:\home\python364x64\wfastcgi.py", line 791, in main
env, handler = read_wsgi_handler(response.physical_path)
File "D:\home\python364x64\wfastcgi.py", line 633, in read_wsgi_handler
handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
File "D:\home\python364x64\wfastcgi.py", line 600, in get_wsgi_handler
handler = __import__(module_name, fromlist=[name_list[0][0]])
File ".\app.py", line 8, in <module>
from newspaper import Article
File "D:\home\python364x64\lib\site-packages\newspaper\__init__.py", line 10, in <module>
from .api import (build, build_article, fulltext, hot, languages,
File "D:\home\python364x64\lib\site-packages\newspaper\api.py", line 12, in <module>
import feedparser
File "D:\home\python364x64\lib\site-packages\feedparser.py", line 316
raise KeyError, "object doesn't have key 'category'"
^
SyntaxError: invalid syntax
StdOut:
StdErr:
【问题讨论】:
-
你是用 pip install news3k 安装的吗?
-
我使用 pip3 install news3k 安装
-
仍然出现错误?
-
当我在本地运行它时,使用 pip3 install xxxx 安装我所有的外部库,然后使用 python3 main.py 运行它。当我部署到天蓝色时,它失败了。然后显示上面的日志。
-
我不确定你是否遇到了我的错误,但我这样解决了:github.com/yokawasa/azure-functions-python-samples/blob/master/… 基本上在你的 webapp 站点文件夹中创建一个 Venv,将它添加到你代码中的路径并导入模块。
标签: python python-3.x azure azure-app-service-envrmnt