2016-08-29 2 views
1

Я работаю над проектом, в котором я хочу интегрировать полосу для платежей. Я следую их документации, чтобы интегрировать ее в python Stripe Documentation. В документации они загрузили библиотеку полосок, чтобы использовать ее. Код для загрузки:python google app engine stripe integration

pip install --upgrade stripe 

Я выполнил те же шаги. Но я получаю эту ошибку. Когда я пытаюсь импортировать его в свой проект.

import stripe 
ImportError: No module named stripe 

ответ

4

Правильный способ установить 3-ю библиотеку партии в приложение 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 в библиотеках.

  • Если ваше приложение является многомодульным, вам понадобится appengine_config.py для каждого модуля, используя библиотеку на шаге № 3, расположенную рядом с файломмодуля. Если вы предпочитаете, это может быть связано с символом DRY (см. https://stackoverflow.com/a/34291789/4495081).

  • Цель шага №4 - просто привести содержимое библиотеки полосок в подкаталог каталога lib. Вы можете сделать это вручную, если по какой-либо причине путь по протоколу не удастся.

+0

Я последовал за ступенями. На 4-м шаге он сказал: «Сборка полосы Не удалось найти версию, которая удовлетворяет требованиям полосы (из версий:) Не найдено подходящего распределения для полосы« –

+0

Но я вручную разместил библиотеку в каталоге lib теперь, как я могу имплицитно импортировать ее в мое приложение. –

+0

Цель 4-го шага состоит в том, чтобы просто довести содержимое библиотеки полосок в подкаталоге каталога 'lib'. Вы можете сделать это вручную, если ошибка 'pip' не удалась. –

0

Когда вы набрали установленную полосу, она установила ее в вашей локальной системе. Но у GAE нет такого пакета, поэтому вы не можете просто импортировать его в производство. Вам необходимо загрузить пакет и добавить его в свое приложение. Например, в каталоге «libs». Затем он будет загружаться вместе с остальной частью вашего приложения при развертывании и быть доступным для приложения. Затем импортировать его, как это:

from libs import stripe 

Предполагая, что ваша структура приложения выглядит следующим образом:

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

из LIBS импорта полосы ImportError: модуль не назвал LIBS –

+0

Это дает ошибку. –

+0

Попробуйте поместить полосу в ту же директорию, что и остальная часть вашего приложения, а затем просто 'import stripe'. Если это работает, то вы знаете, что ваш каталог libs настроен неправильно. Он должен иметь '__init.py__' и находиться в пути sys. – GAEfan