flask - flask_mail 似乎是在 pythonanywhere 中导入的,但是运行时 get error code: no module named
问题描述
我正在尝试通过 flask_mail 在电子邮件中发送 pandas DataFrame:
from flask import Flask, redirect, render_template, request, url_for, jsonify, session
from flask_mail import Mail, Message
app.config['MAIL_SERVER'] = 'smtp.****.com'
app.config['MAIL_PORT'] = ***
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = '****'
app.config['MAIL_PASSWORD'] = '***'
mail = Mail(app)
@app.route("/sent", methods=["GET", "POST"])
def sent():
recipient = str(request.form["email"])
df_*** = pd.read_msgpack(session['***'])
df_client = pd.read_msgpack(session['client'])
msg = Message("Thank you for your interest!",
sender="***@***.com",
recipients = [recipient])
msg.html = df_client.to_html()
msg_*** = Message("A new calculation was made by {{email}}",
sender="***@***.com",
recipients = ["***@***.com"])
msg_***.html = df_***.to_html()
return "Thank you for showing interest!"
但是,我不断收到同样的错误:
2019-12-02 11:08:34,919: Error running WSGI application
2019-12-02 11:08:34,920: ModuleNotFoundError: No module named 'flask_mail'
2019-12-02 11:08:34,920: File "/var/www/****_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-12-02 11:08:34,920: from flask_app import app as application # noqa
2019-12-02 11:08:34,920:
2019-12-02 11:08:34,920: File "/home/****/mysite/flask_app.py", line 2, in <module>
2019-12-02 11:08:34,921: from flask_mail import Mail, Message
2019-12-02 11:08:34,921: ***************************************************
2019-12-02 11:08:34,921: If you're seeing an import error and don't know why,
2019-12-02 11:08:34,921: we have a dedicated help page to help you debug:
2019-12-02 11:08:34,921: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-12-02 11:08:34,921: ***************************************************
但是,当我导入 flask_mail 时,我的代码中没有出现错误标记,或者当我尝试 pip install 时,它似乎已经安装:
10:45 ~/mysite $ pip install flask_mail
Looking in links: /usr/share/pip-wheels
Requirement already satisfied: flask_mail in /usr/local/lib/python2.7/dist-packages (0.9.1)
Requirement already satisfied: Flask in /usr/local/lib/python2.7/dist-packages (from flask_mail) (1.0.2)
Requirement already satisfied: blinker in /usr/local/lib/python2.7/dist-packages (from flask_mail) (1.4)
Requirement already satisfied: Jinja2>=2.10 in /usr/local/lib/python2.7/dist-packages (from Flask->flask_mail) (2.10)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python2.7/dist-packages (from Flask->flask_mail) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/lib/python2.7/dist-packages (from Flask->flask_mail) (0.14.1)
Requirement already satisfied: blinker in /usr/local/lib/python2.7/dist-packages (from flask_mail) (1.4)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python2.7/dist-packages (from Flask->flask_mail) (6.7)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python2.7/dist-packages (from Jinja2>=2.10->Flask->flask_mail) (1.0)
10:45 ~/mysite $ pip install Flask-Mail
Looking in links: /usr/share/pip-wheels
Requirement already satisfied: Flask-Mail in /usr/local/lib/python2.7/dist-packages (0.9.1)
Requirement already satisfied: Flask in /usr/local/lib/python2.7/dist-packages (from Flask-Mail) (1.0.2)
Requirement already satisfied: blinker in /usr/local/lib/python2.7/dist-packages (from Flask-Mail) (1.4)
Requirement already satisfied: Jinja2>=2.10 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Mail) (2.10)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Mail) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Mail) (0.14.1)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Mail) (6.7)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python2.7/dist-packages (from Jinja2>=2.10->Flask->Flask-Mail) (1.0)
解决方案
解决了。显然,我使用的是 3.6 而不是 3.7。于是pip3.6 install --user Flask-Mail
解决了这个问题。
推荐阅读
- git - 替换文件时Git合并不显示冲突
- node.js - 无法在 Visual Studio Code 中更改 node.js 中的环境变量
- timestamp - TDengine 是否支持插入具有更旧时间戳值的数据?
- c++ - 从 wchar_t* 中获取最后一个令牌
- windows - ForFiles 命令不适用于参数 /D +xx
- python - 如何将按钮添加到 discord.py 中的嵌入
- r - 在 for 循环内的 if 语句中选择向量的组件
- c++ - 如何使用 COLOREF RGB 代码为控制台背景着色?
- linux - 使用 SLES15 和 *Suse Container 时在 Docker Container 中没有访问权限
- jmeter - 如何在 View Results Tree -> Response Data -> Response Body 中显示采样器记录的全部内容?