私はこのクラス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.pyimport google_oauth2 - ダウンロード
oauth2.pyしたものをパッケージに入れると、たとえばimport googletools.oauth2.