আমদানি ত্রুটি: অ্যাপিক্লিয়েন্ট.ডিসকোভারি নামে কোনও মডিউল নেই


153

গুগল অ্যাপ ইঞ্জিনের পাইথনে আমি এই ত্রুটিটি পেয়েছি গুগল অনুবাদ এপিআই ব্যবহার করেছি, তবে কীভাবে ঠিক করতে হয় তা আমি জানি না,

<module>
from apiclient.discovery import build
ImportError: No module named apiclient.discovery

আমি গুগল অ্যাপ ইঞ্জিন এসডিকে নির্দেশ করে এমন পরিবেশ নির্ধারণ করার চেষ্টা করব এবং আবার গুগল অ্যাপস ইঞ্জিনে আপলোড করব, সর্বদা ত্রুটিটি পেয়ে যাবে ,

ত্রুটি: সার্ভার ত্রুটি

সার্ভার একটি ত্রুটির সম্মুখীন হয়েছে এবং আপনার অনুরোধটি সম্পূর্ণ করতে পারে নি। যদি সমস্যাটি অব্যাহত থাকে তবে দয়া করে আপনার সমস্যার প্রতিবেদন করুন এবং এই ত্রুটি বার্তা এবং এটির কারণ হিসাবে থাকা ক্যোয়ারীর উল্লেখ করুন।

কীভাবে ঠিক করবেন আমাকে বলুন

ধন্যবাদ

আপডেট: নিজিনের সহায়তা স্থির করুন, আমি নিম্নলিখিত ফোল্ডারগুলি যুক্ত করে সমস্যার সমাধান করেছি,

apiclient, gflags, httplib2, oauth2client, uritemplate

যদি আপনি এখনও সমস্যা পেয়ে থাকেন তবে আরও তথ্য পেতে দয়া করে নীচের পৃষ্ঠার উত্তরটি বিবেচনা করুন। প্রাক্তন। : ভারুম উত্তর, ইত্যাদি ...


আপনি কি apiclientআপনার অ্যাপেনজিন প্রকল্পে কোড ডিরেক্টরি অন্তর্ভুক্ত করেছেন ?
নিজন নারায়ণন

আপনি বাহ্যিক গ্রন্থাগার মানে? (এটি / গুগল অ্যাপ ইঞ্জিন এসডিকে / গুগল-এপি-পাইথন-ক্লায়েন্ট / অ্যাপিক্লিয়েন্ট / আবিষ্কার.পি?)? আমি আইডিইএ ইন্টেলিজিজ ব্যবহার করি। আরও তথ্য সরবরাহ করার জন্য ধন্যবাদ
হুই টাওয়ার

নিশ্চিত হয়ে নিন যে আপনি নিজের প্রোগ্রামটি সুডো হিসাবে চালাচ্ছেন না কারণ আপনার ব্যবহারকারীর বাড়িতে pip show PyDrive
পাইপ

cloud.google.com/sdk/docs প্রক্রিয়াটিতে সহায়তা করতে পারে
Xiao

এটি আমি প্রথম পৃষ্ঠায় আঘাত করেছি তবে নীজিন এবং বরুণ থেকে নীচে দেওয়া উত্তরগুলি আমি মিস করেছি। লিঙ্কের নির্দেশাবলী অনুসরণ করে আপনাকে অ্যাপ ওয়ার্কিং ডিরেক্টরিতে মডিউলটিকে 'তৃতীয় পক্ষের প্যাকেজ' হিসাবে অন্তর্ভুক্ত করতে হবে। লিনাক্স উবুন্টুতে, lib / ইনস্টল করতে -t সুইচ ব্যবহার করার সময় আমাকে sudoও ব্যবহার করতে হয়েছিল।
আলকেমি

উত্তর:


240

এই সাধারণ ইনস্টলের মাধ্যমে আপনার এই নির্ভরতা পেতে সক্ষম হওয়া উচিত:

sudo pip install --upgrade google-api-python-client

অজগরটির দ্রুত প্রারম্ভিক পৃষ্ঠায় এটি বর্ণিত হয়েছে ।


7
আমি ঠিক এটি করার পরে একই ত্রুটির মুখোমুখি। আমি এটি ইনস্টল করেছি C:\>C:\Python27\Scripts\easy_install-script.py --upgrade google-api-python-clientএবং এটি বলেছে Installed c:\python27\lib\site-packages\google_api_python_client-1.3.1-py2.7.eggএবং আবার ইনস্টল করার চেষ্টা করছেgoogle-api-python-client 1.3.1 is already the active version in easy-install.pth
এডমন্ড সুলজানোক

5
উত্তরের প্রদত্ত লিঙ্কটি সরানো হয়েছে পাইগনের সাথে শুরু গুগলসে
নাথান

4
আমার কোনও ধারণা নেই, উপরের কমান্ডটি sudoআমার জন্য কেন কাজ করে নি।
mtk

5
পাইথন 3-এর জন্য উপরের কমান্ডের পিপ 3 এর সাথে পিপ প্রতিস্থাপন করা দরকার। আমি বিশ্বাস করি এমন কারও পক্ষে এটি সুস্পষ্ট নাও হতে পারে।
এমমেট বি

1
ডেবিয়ান 9 স্ট্রেচ ব্যবহার করে আমি কমান্ড sudo apt-get install python-googleapi python-oauth2clientএবং কমান্ডটি ব্যবহার করেছি sudo apt-get install python3-googleapi python3-oauth2client। এটি নিখুঁতভাবে কাজ করেছে এবং আমি এই উপায়ে পছন্দ করি কারণ আমার একটি প্যাকেজ ম্যানেজারের সাথে যথেষ্ট রয়েছে।
জেরার্ড

120

apiclientগ্রন্থাগারের আসল নাম ছিল
এক পর্যায়ে, এটি হতে স্যুইচ করা হয়েছিল googleapiclient

যদি আপনার কোডটি গুগল অ্যাপ ইঞ্জিনে চলমান থাকে তবে উভয়েরই কাজ করা উচিত।

আপনি যদি গুগল-এপি-পাইথন-ক্লায়েন্ট ইনস্টল করে নিজেই অ্যাপ্লিকেশনটি চালাচ্ছেন তবে উভয়েরই পাশাপাশি কাজ করা উচিত।

যদিও, আমরা যদি একবার খেয়াল করি apiclient প্যাকেজের __init__.pyমডিউলটির উত্স কোডটি একবার দেখে নিই, আমরা দেখতে পারি যে apiclientমডিউলটি কেবল পিছনের দিকে সামঞ্জস্যের জন্য রাখা হয়েছিল।

গুগলাপিক্লিয়েন্টের জন্য একটি উপনাম হিসাবে apiclient পুনরুদ্ধার করুন।

সুতরাং, googleapiclientআপনার কোডটি সত্যই আপনার ব্যবহার করা উচিত , যেহেতু apiclientউপনামটি উত্তরাধিকার কোডটি না ভাঙ্গার জন্য রক্ষণাবেক্ষণ করা হয়েছিল।

# bad
from apiclient.discovery import build

# good
from googleapiclient.discovery import build

আরও তথ্য: আমার সবেমাত্র এই সমস্যাটি ছিল (পাইথন ৩.৩.২), এবং importবিবৃতিতে নাম পরিবর্তন করা এটি ঠিক করে দিয়েছে। আমি গুগলের নমুনা কোডটি পাইচার্মের একটি ফাইলে স্থানান্তরিত করেছিলাম এবং যখন পাইচার্ম আমাকে এমন একটি প্যাকেজ ইনস্টল করার অনুরোধ জানায় apiclientআমি তা করেছি। আমি যখন এটি ইনস্টল করা মডিউলটির দিকে তাকিয়েছিলাম তখন এটি ক্ষুদ্র ছিল এবং এটি গুগলের সাথে সম্পর্কিত বলে মনে হচ্ছে না।
নাথান ওয়েলস

10

apiclientঅ্যাপেনজিন রানটাইম দ্বারা সরবরাহিত তৃতীয় পক্ষের লাইব্রেরির তালিকায় নেই: http://developers.google.com/appengine/docs/python/tools/libraries27

আপনি কপি করা আবশ্যক apiclientআপনার প্রকল্পের ডিরেক্টরির মধ্যে & এইসব কপি করা আবশ্যক uritemplate& httplib2খুব।

দ্রষ্টব্য: যে কোনও তৃতীয় পক্ষের লাইব্রেরি যা ডকুমেন্টেশন তালিকায় সরবরাহ করা হয়নি তা অবশ্যই আপনার অ্যাপেনজিন প্রকল্প ডিরেক্টরিতে অনুলিপি করতে হবে


1
আমি গুগল ট্রান্সলেট এপিআই এর পাইথন ব্যবহার করেছি, অতএব, আমার প্রয়োজন: অ্যাপিক্লিয়েন্ট, জিফ্লেগস, HTLL2 2, oauth2client, ইউরাইটেম্পলেট। ধন্যবাদ: ডি
হুই টাওয়ার

যারা অ্যাপ্লিকেশন চালাচ্ছেন না তাদের পক্ষে জর্ভিসের জবাব আরও প্রাসঙ্গিক। আমি ভুল হলে আমাকে সংশোধন করুন।
আউটলেট

এটি কি সত্যি যে সত্যিকার অর্থে ডিফল্ট লাইব্রেরিতে অন্তর্ভুক্ত নয়? আমরা পাইচর্মের গুগল অ্যাপ ইঞ্জিন এসডিকে ডিরেক্টরিতে সূচিত ডিরেক্টরি হিসাবে অ্যাপিক্লিয়েন্ট দেখতে পাচ্ছি। এটি বলেছিল, যদিও আমরা এটি সেখানে দেখছি, তবুও আমরা তাঁর প্রশ্নের ত্রুটিটি পেয়ে যাচ্ছি।
প্রেক্সাইটেলস

8

উপরের সমাধানগুলির কোনওটি যদি আপনার পক্ষে কাজ করে না, তবে বিবেচনা করুন যে আপনি অ্যানাকোন্ডার মাধ্যমে পাইথন ইনস্টল করে থাকতে পারেন। যদি এটি হয় তবে কনডা সহ গুগল এপিআই লাইব্রেরি ইনস্টল করা এটি ঠিক করতে পারে।

চালান:

python --version

এমন কিছু পেলে

Python 3.6.4 :: Anaconda, Inc.

তারপরে চেষ্টা করুন:

conda install google-api-python-client

যেমনটি বিগুডার একটি মন্তব্যে নির্দেশ করেছেন, গুগল এপিআই লাইব্রেরি পেতে আপনাকে চ্যানেলটি নির্দিষ্ট করতে হবে (ভাণ্ডার ভাবেন) specify লেখার সময় এর অর্থ কমান্ডটি চালানো:

conda install -c conda-forge google-api-python-client

Https://anaconda.org/conda-forge/google-api-python-client এ আরও দেখুন


2
আসলে একটি চ্যানেল দৃশ্যত প্রয়োজন। দেখুন anaconda.org/conda-forge/google-api-python-client (-c বিকল্প দেখুন)।
বিগুডার

2
আপনাকে ধন্যবাদ @ বিগুডার আমি আপনার মন্তব্য উত্তরে অন্তর্ভুক্ত করেছি।
জোনাথন হানসেন

7

নিশ্চিত হয়ে নিন যে আপনি কেবল google-api-python-clientইনস্টল করেছেন। আপনি যদি apiclientইনস্টল করে থাকেন তবে এটি সংঘর্ষের কারণ হবে। সুতরাং, নিম্নলিখিত চালান:

sudo pip uninstall apiclient

6

অ্যাপ ইঞ্জিন প্রকল্পের জন্য আপনি স্থানীয়ভাবে টাইপ করে lib ইনস্টল করতে হবে

pip install -t lib google-api-python-client

এখানে আরও পড়ুন


এই পেয়েছিলাম আমি কাজ, যদিও আমি একটি বিক্রেতা হিসেবে liberal এর সংক্ষিপ্ত রূপ ডিরেক্টরি যোগ করার জন্য পাশাপাশি এখানে উত্তর অনুসরণ করতে হবে নি: stackoverflow.com/a/29681061/1024735
kevinmicke

5

গুগল এপিআই পাইথন ক্লায়েন্ট লাইব্রেরির জন্য একটি ডাউনলোড রয়েছে যা প্রকল্পের ডাউনলোড বিভাগে গুগল-এপি-পাইথন-ক্লায়েন্ট-গেই- <version> .zip এর মতো কিছু নামযুক্ত লাইব্রেরি এবং এর সমস্ত নির্ভরতা ধারণ করে । আপনার অ্যাপ ইঞ্জিন প্রকল্পে এটি কেবল আনজিপ করুন।


5

আমি এর সাথে প্যাকেজটি পুনরায় ইনস্টল করে সমস্যার সমাধান করেছি:

pip install --force-reinstall google-api-python-client

5

অজগর 3 এর জন্য এটি আমার পক্ষে কাজ করেছিল:

sudo pip3 install --upgrade google-api-python-client

4

ইউআরআইটিম্প্লেট মডিউলটি ইনস্টল করার সময় বাগের কারণে আমারও একই সমস্যা ছিল।

এটি সমস্যার সমাধান করেছে:

pip install --force-reinstall uritemplate.py

3

গুগল ক্যালেন্ডার থেকে সাম্প্রতিক ক্যালেন্ডার ইভেন্টগুলি পার্স করার জন্য একটি প্রকল্পে কাজ করার সময় আমি একই ত্রুটি পেয়েছি।

পাইপের সাথে স্ট্যান্ডার্ড ইনস্টলটি ব্যবহার করা আমার পক্ষে কার্যকর হয়নি, আমার প্রয়োজনীয় প্যাকেজগুলি পাওয়ার জন্য আমি এখানে যা করেছি।

সরাসরি উত্সটিতে যান, এখানে গুগল-এপিআই-পাইথন-ক্লায়েন্টের লিঙ্ক রয়েছে , তবে আপনার যদি অন্য ভাষা প্রয়োজন হয় তবে এটি খুব আলাদা হওয়া উচিত নয়।

https://github.com/google/google-api-python-client

উপরের বাম পাশে সবুজ "ক্লোন বা ডাউনলোড" বোতামে ক্লিক করুন এবং এটি জিপ ফাইল হিসাবে সংরক্ষণ করুন। আপনার প্রজেক্ট ফোল্ডারে জিপটি সরান এবং সেখানে এটি বের করুন। তারপরে ফোল্ডারটি থেকে সমস্ত ফাইল কেটে ফেলুন এটি আপনার প্রকল্প ফোল্ডারের মূলটিতে ফিরে আসে।

হ্যাঁ, এটি আপনার কাজের জায়গাটিকে বিশৃঙ্খলা করে না, তবে অনেক সংকলকের কাছে ফাইলগুলি আড়াল করার উপায় রয়েছে।

এই স্ট্যান্ডার্ড করার পরে

from googleapiclient import discovery

দুর্দান্ত কাজ করে

আশাকরি এটা সাহায্য করবে.


2

"গুগল-এপি-পাইথন-ক্লায়েন্ট" এর প্রয়োজন:

pip install uritemplate.py

GAE বিকাশ সার্ভারে সমস্যা সমাধানের জন্য:

from googleapiclient.discovery import build

ImportError: No module named googleapiclient.discovery

1

আমি একই সমস্যা সম্মুখীন। এটি কাজ করেছে:

>>> import pkg_resources
>>> pkg_resources.require("google-api-python-client")
[google-api-python-client 1.5.3 (c:\python27), uritemplate 0.6 (c:\python27\lib\site-packages\uritemplate-0.6-py2.7.egg), six 1.10.0 (c:\python27\lib\site-packages\six-1.10.0-py2.7.egg), oauth2client 3.0.0 (c:\python27\lib\site-packages\oauth2client-3.0.0-py2.7.egg), httplib2 0.9.2 (c:\python27\lib\site-packages\httplib2-0.9.2-py2.7.egg), simplejson 3.8.2 (c:\python27\lib\site-packages\simplejson-3.8.2-py2.7-win32.egg), six 1.10.0 (c:\python27\lib\site-packages\six-1.10.0-py2.7.egg), rsa 3.4.2 (c:\python27\lib\site-packages\rsa-3.4.2-py2.7.egg), pyasn1-modules 0.0.8 (c:\python27\lib\site-packages\pyasn1_modules-0.0.8-py2.7.egg), pyasn1 0.1.9 (c:\python27\lib\site-packages\pyasn1-0.1.9-py2.7.egg)]

>>> from apiclient.discovery import build
>>> 

1

এটি কেবল তখনই আমার সাথে কাজ করত যখন আমি সুডো ব্যবহার করি:

sudo pip install --upgrade google-api-python-client

1

আমি একই ত্রুটিটি পাচ্ছিলাম, এমনকি https://developers.google.com/drive/api/v3/quickstart/python এ গুগলের গাইড অনুসরণ করার পরে , আমি বুঝতে পেরেছিলাম যে আমাকে এই জাতীয় অনুরোধ করতে হয়েছিল:

python3 quickstart.py

পরিবর্তে:

python quickstart.py <-- WRONG

(" 3" নোট করুন )

নির্দোষভাবে কাজ করেছেন।

আমি ব্যবহার করছি Ubuntu 18.04.4 LTS


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.