2016-08-29 83 views
1

我正在一個項目中,我想要整合支付條紋。我正在按照他們的文檔將它集成到python Stripe Documentation。在文檔中,他們下載了條紋庫以使用它。代碼下載它是:蟒蛇谷歌應用引擎條紋集成

pip install --upgrade stripe 

我遵循了相同的步驟。但我得到這個錯誤。當我嘗試將其導入到我的項目中時。

import stripe 
ImportError: No module named stripe 

回答

4

安裝第三方庫到你的GAE應用程序的正確方法是在Installing a library描述:

The easiest way to manage this is with a ./lib directory:

  1. Use pip to install the library and the vendor module to enable importing packages from the third-party library directory.

  2. Create a directory named lib in your application root directory:

    mkdir lib 
    
  3. To tell your app how to find libraries in this directory, create or modify a file named appengine_config.py in the root of your project, then add these lines:

    from google.appengine.ext import vendor 
    
    # Add any libraries installed in the "lib" folder. 
    vendor.add('lib') 
    
  4. Use pip with the -t lib flag to install libraries in this directory:

    pip install -t lib gcloud 
    

注意

  • 當經歷所提到的文檔頁面講究,因爲它也包含了要求和使用說明GAE提供的內置庫 - 比那些安裝/vendored式庫不同。

  • 如果您的應用程序是多模塊應用程序,則需要使用位於模塊的.yaml文件旁邊的步驟3中的庫的每個模塊的appengine_config.py。如果您願意,可以根據DRY原因進行符號鏈接(請參閱https://stackoverflow.com/a/34291789/4495081)。

  • 步驟#4的目標是將條帶庫的內容放在lib目錄的子目錄中。無論出於何種原因,您都可以手動執行該操作。

+0

我按照步驟。在第4步它說「收集帶 找不到符合要求條的版本(從版本:) 找不到匹配的分配帶」 –

+0

但我手動將庫放在lib目錄現在我怎麼能隱式地導入它我的應用程序 –

+0

第4步的目標是將條帶庫的內容放在'lib'目錄的子目錄中。如果'pip'方式失敗,您可以手動執行此操作。 –

0

當你pip安裝條帶時,它將它安裝在你的本地系統中。但GAE沒有這個包,所以你不能簡單地將它導入到生產環境中。您需要下載該軟件包,並將其添加到您的應用程序中。例如,在「libs」目錄中。然後,它將在您部署時與您的其他應用程序一起上傳,並提供給應用程序。然後,導入這樣的:

from libs import stripe 

假設你的應用程序的結構是這樣的:

- myapp 
    - app.yaml 
    - otherstuff.py 
    - libs 
    - stripe 
+0

從庫中導入條紋 導入錯誤:沒有模塊名爲庫 –

+0

這是給錯誤。 –

+0

嘗試將條紋放入與應用程序其餘部分相同的目錄中,然後只是「導入條紋」。如果可行,那麼你知道你的libs目錄沒有正確設置。它應該有一個'__init.py__'並且位於sys路徑中。 – GAEfan

相關問題