Azure ImportError上的Python外部未找到模块

时间:2018-06-30 20:04:31

标签: python python-3.x azure azure-app-service-envrmnt

如果我使用python main.py在本地运行代码,则此错误将在本地发生。如果我使用python3 main.py运行它,它会按预期工作。我怀疑我的azure应用服务未运行正确版本的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

需求之一是Pillow,它需要libxml2和libxslt。我尝试过使用车轮,但是没有成功。

UPDATE II 我尝试安装virtualenv,因为它不存在,并且收到权限错误。

enter image description here

enter image description here

更新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: 

1 个答案:

答案 0 :(得分:1)

根据我的经验,我们无权修改D:\home环境。

因此,最好使用python扩展名。在这种情况下,请按照以下步骤操作:Azure Flask Routes Not found,并使用命令python -m pip install newspaper在python扩展中安装其他软件包。

请确保您要安装的软件包必须与python扩展版本匹配。否则,将引发以下错误。

enter image description here

希望它对您有帮助。