エラーが表示される理由を理解しようとしていますModuleNotFoundError: No module named 'urlparse'
しかし、コードでurlparseを呼び出すことはありません。 piを使用してurlparseをインストールしようとすると、このモジュールが存在しないことがわかります。 pipでurllib.parseをインストールしようとすると、urllib.parseで同じメッセージが表示されます。 No matching distribution found for urllib.parse
。
ここで何が欠けていますか?
from flask import Flask, request, redirect, url_for, session, g, flash, \
render_template
from flask_oauth import OAuth
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# configuration
SECRET_KEY = 'development key'
DEBUG = True
# setup flask
app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()
# Use Twitter as example remote app
Twitter = oauth.remote_app('Twitter',
base_url='https://api.Twitter.com/1/',
request_token_url='https://api.Twitter.com/oauth/request_token',
access_token_url='https://api.Twitter.com/oauth/access_token',
authorize_url='https://api.Twitter.com/oauth/authenticate',
consumer_key='',
consumer_secret=''
)
@Twitter.tokengetter
def get_Twitter_token(token=None):
return session.get('Twitter_token')
@app.route('/')
def index():
access_token = session.get('access_token')
if access_token is None:
return redirect(url_for('login'))
access_token = access_token[0]
return render_template('templates/index.html')
if __name__ == '__main__':
app.run()
Flask_oauthライブラリはPython3をサポートしていません。トレースバックから確認できます。
Traceback (most recent call last):
File "app.py", line 3, in <module>
from flask_oauth import OAuth
File "/Users/matthealy/virtualenvs/test/lib/python3.6/site-packages/flask_oauth.py", line 13, in <module>
from urlparse import urljoin
ModuleNotFoundError: No module named 'urlparse'
Urlparseモジュールの振る舞いはPython 3で変更されました:
https://docs.python.org/2/library/urlparse.html
Urlparseモジュールは、Python 3.でurllib.parseに名前が変更されました。3。
これは Github のパッケージメンテナによって提起されました。 Githubのソースは修正されているようですが、修正されたバージョンはpypiにプッシュされていません。
Githubで提案されている解決策は、pypiではなくソースから直接インストールすることです。
pip install git+https://github.com/mitsuhiko/flask-oauth