私はこのクラスimport oauth2
を使用したい: Googleモジュールを使用しますか?最初にインストールする必要がありますか?
1 に答える
リンクしたドキュメントを見ると、Google Mailoauth2
モジュールはダウンロードしてその場で使用することを意図しているようです。
もちろん、インストールすることはできますが、2 つの (トップレベルの) モジュールを同じ名前でインストールすることはできないため、python-oauth2
最初にアンインストールする必要があります。
しかし、Python 2.7 では、インプレースで使用するだけでoauth2.py
、1 つのディレクトリと stdlib に 1 つのディレクトリを持つことができます。最初にインポートした方が「勝ち」ます。それ以降の試みimport oauth2
は最初のものを取得します。
正しいものを強制的にインポートするには (古い Python 2.x と Python 3.x でも機能する方法で)、imp
モジュールを使用してパスを明示的に指定することをお勧めします。
たとえば、oauth2.py
それをインポートするスクリプトのすぐ横に配置する場合は、 だけimport oauth2
ではなく、次のようにします。
script_path = os.path.abspath(os.path.dirname(__file__))
f, path, desc = imp.find_module('oauth2', [script_path])
oauth2 = imp.load_module('oauth2', f, path, desc)
…状況によっては、現在の作業ディレクトリがスクリプト ディレクトリであると仮定したり、永久に munging したりすることで不正行為を回避sys.path
できる場合もあるため、さまざまな方法で単純化することができます。これ:
sys.path = ['.'] + sys.path
import oauth2
それでも、安全性(および読みやすさ)のために、次のいずれかを実行することを検討します。
- アンインストールし
python-oauth2
ます。 - ダウンロードしたファイルの名前を 、 、
oauth2.py
などの別の名前に変更します。google_oauth2.py
import google_oauth2
- ダウンロード
oauth2.py
したものをパッケージに入れると、たとえばimport googletools.oauth2
.