python - Azure ImportError 上的 Python 外部未找到模块
问题描述
如果我使用 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。但是我尝试过使用轮子,但没有成功。
更新 II 我尝试安装 virtualenv,因为它不存在并且我收到权限错误。
更新三我运行了这个命令
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:
解决方案
根据我的经验,我们无权修改D:\home
环境。
所以,最好使用python扩展。在这种情况下,请按照以下步骤操作:Azure Flask Routes Not found并使用命令python -m pip install newspaper
在 python 扩展中安装其他包。
请确保您要安装的软件包必须与 python 扩展的版本匹配。否则会抛出如下错误。
希望它可以帮助你。
推荐阅读
- pca - 可以针对特定功能对 PCA 进行规范化吗?
- java - 将专色(直接色调)添加到 PDF
- c# - 反序列化 Avro Spark
- python-3.x - 如何使用 Pandas groupby() 将具有逗号分隔的列项的字符串聚合到列表中?
- html - Flexbox - 导航栏上菜单项之间的间隙不一致
- python - Azure API 权限修复
- react-redux - 在 React Redux 中拖放一行后更新 react-table 值
- c - 将指针传递给另一个函数时,带有数组的 printf 的奇怪行为
- c# - 以更好的方式在.net core web api中上传图像
- sql-server - 基于 Rowversion 的 SSIS ETL Pattern 偶尔会丢失行,如何纠正?