0

私はこのクラスimport oauth2使用したい: Googleモジュールを使用しますか?最初にインストールする必要がありますか?

4

1 に答える 1

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.
于 2013-05-10T23:31:42.087 に答える