2017-02-28 12 views
7

मैं ग्रहण और PyDev का उपयोग कर अजगर का उपयोग कर के लिए App Engine परियोजना उबंटू लिनक्स 16.4 पर निर्माण कर रहा हूँ नहीं मिल रहा।Google App इंजन - बिग क्वेरी - अजगर पुस्तकालयों google.cloud

मैं बोतल फ्रेमवर्क जो ठीक काम करता है, क्या मैं बिग क्वेरी से कनेक्ट कर रहा है क्या करना चाहते हैं का उपयोग कर रहा है और कहा कि जहां मैं मुसीबत हो रहा है।

तो मैं का इस्तेमाल किया है:

pip install --upgrade google-cloud-bigquery 

बिग क्वेरी लाइब्रेरी स्थापित करने के लिए और मैं /usr/local/lib/python2.7/dist-packages

में संकुल देख सकते हैं किसी कारण से ग्रहण पुस्तकालय पंजीकृत है सोचने के लिए नहीं लगता है, मैं उस के साथ रह सकते हैं, लेकिन जब मैं अपने प्रोजेक्ट dev_appserver.py चलाने App इंजन पुस्तकालय नहीं मिल सकता है:

मैं अपने अजगर PyDev में यह है:

यह अजीब है जैसे मैं जोड़ने from lib.google.cloud import bigquery PyDev निराकरण, जिले-संकुल PyDev रास्ते में है तो मैं क्यों यह लेने नहीं करता है नहीं मिलता है इसे।

आप यह भी देखेंगे मैं apiclient.discovery और oauth2client.client बाहर टिप्पणी की है, मैं एक और तरीका कोशिश करने के लिए जा रहा था लेकिन App इंजन शिकायत की कि यह SignedJwtAssertionCredentials पुस्तकालय नहीं पा सके तो मैं यह सब जुड़ा हुआ है और के कारण होता है यकीन एक ही समस्या है।

मेरी appengine_config.py में मेरे पास है:

App Engine Config

+0

क्योंकि दोनों एसडीके और गूगल-बादल पैकेज गूगल फ़ोल्डर शामिल यह। –

+0

@MattStannard आपको समस्या का समाधान मिला। मैं वही सामना कर रहा हूँ। –

उत्तर

0

आपको लगता है कि शामिल नहीं हैं this सूची 3 पार्टी पुस्तकालयों का उपयोग करना चाहते हैं, तो आप उन्हें मैन्युअल रूप से जोड़ने के लिए होगा।

आदेश मैन्युअल रूप से किसी अन्य पुस्तकालय आप उन्हें निर्देशिका जहां app.yaml रहता अंदर करना होगा शामिल करने के लिए। उदाहरण के लिए आप निम्नलिखित संरचना है यदि:

hello 
├── libs 
│ └── bs4 
├── hello.py 
└── app.yaml 

फिर अपने hello.py में आप फ़ाइल की शुरुआत में इन दो पंक्तियों डाल करने के लिए है:

import sys 
sys.path.insert(0, 'libs') 

करने के बाद आप पाएंगे कि कि तुम उस libs निर्देशिका में डाल करने के लिए जा रहे हैं किसी भी 3 पार्टी पुस्तकालय का उपयोग कर सकेंगे। उदाहरण के लिए:

from bs4 import BeautifulSoup 
+0

आपके प्रतिक्रियाओं के लिए धन्यवाद। @dan - मैंने पहले से ही यह कोशिश की है यदि आप appengine_config.py के मेरे स्क्रीनशॉट को देखते हैं तो आप देखेंगे कि यह आपके सुझाव से मेल खाता है। ब्रेविन - मैंने इसे थक दिया है यह वास्तव में काम नहीं करता –

0

@Bravin सही रास्ते पर है जबकि vendoring in 3rd party libraries के लिए सिफारिश की प्रक्रिया थोड़ी अलग है:

  1. अपने तीसरे पक्ष के पुस्तकालयों स्टोर करने के लिए एक निर्देशिका बनाएँ, इस तरह के lib/ के रूप में।

    mkdir lib 
    
  2. उपयोग pip-t <directory> ध्वज के साथ (संस्करण 6 या बाद में) आप पिछले चरण में बनाया फ़ोल्डर में पुस्तकालयों की नकल करने के लिए। उदाहरण के लिए:

    pip install -t lib/ <library_name> 
    

    Using Homebrew Python on Mac OS X?

  3. अपने app.yaml फ़ाइल को उसी फ़ोल्डर में appengine_config.py नाम की एक फ़ाइल बनाएँ।

  4. appengine_config.py फ़ाइल संपादित करें और अपनी लाइब्रेरी निर्देशिका vendor.add() विधि पर प्रदान करें।

    # appengine_config.py 
    from google.appengine.ext import vendor 
    
    # Add any libraries install in the "lib" folder. 
    vendor.add('lib') 
    
+0

आपके प्रतिक्रियाओं के लिए धन्यवाद। –

+0

@MattStannard क्या यह काम करता है? –

+0

कोई आईडी काम नहीं किया। –

संबंधित मुद्दे