2013-05-10 53 views

回答

1

看着the docs you linked,它看起來像谷歌郵箱oauth2模塊是要下載和使用就地。

你當然可以安裝它......但你不能有兩個(頂級)模塊安裝同名,所以你必須先卸載python-oauth2

但是,如果你只是在Python 2.7中使用它,你可以在一個目錄中有一個oauth2.py,在stdlib中有一個。無論你首先進口哪一個都會「贏」。任何後續嘗試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
相關問題