পাইডেভ এবং ইকলিপস সহ অমীমাংসিত আমদানি সংক্রান্ত সমস্যা


108

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

আমি ডিরেক্টরিতে অবস্থিত odbchelper.py ফাইলটি ব্যবহার করতে সক্ষম হতে চাই /Desktop/Python_Tutorials/diveintopython/py

আমি এখানে আমার পাইডিভ / এক্সপ্লাইস প্রকল্পে কাজ করছি এমন আমার উদাহরণ.py ফাইলটি এখানে রয়েছে:

import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")

এটি ঠিকঠাক কাজ করে তবে তারপরে আমি আমার কোডের পরবর্তী লাইনটি হতে চাই:

import odbchelper

এবং এটি প্রতিবার অমীমাংসিত আমদানি ত্রুটির কারণ হয়ে দাঁড়ায়। আমি __init__.pyসম্ভাব্য প্রতিটি ডিরেক্টরিতে ফাইল যুক্ত করেছি এবং এটি কিছুই সাহায্য করে না। আমি __init__.pyপ্রকল্পের অবস্থান এবং odbchelper.py ফাইলের মধ্যে বিভিন্ন স্তরের ডিরেক্টরিগুলির মধ্যে একবারে __init__.pyফাইলগুলি যুক্ত করার চেষ্টা করেছি এবং আমি একই সাথে সমস্ত ডিরেক্টরিতে ফাইল যুক্ত করার চেষ্টা করেছি । কোনটিই কাজ করে না।

আমি যা করতে চাই তা অন্য কোনও ডিরেক্টরিতে কোথাও না কোথাও একটি প্রকল্প আছে, বলুন /Desktop/MyStuff/Project, যার মধ্যে আমার উদাহরণ রয়েছে pyপি ... এবং তারপরে উদাহরণ.পি থেকে আমি odbchelper.py আমদানি করতে চাই/Desktop/Python_Tutorials/diveintopython/py/

প্রতিটি বার্তা বোর্ডের প্রতিক্রিয়া আমি sys.path.append()আমার ডিরেক্টরিটিতে এই ডিরেক্টরিটি যুক্ত করতে ফাংশনটি ব্যবহার করার জন্য কেবল বলছিলাম এবং তারপরে এটি আমদানি করতে পারি ... তবে এটি আমার কোডটিতে আমি যা করছি তা অবিকল এবং এটি কাজ করছে না।

আমিও চেষ্টা করেছি Ctrl- 1কৌতুক ত্রুটি বার্তা দমন করতে, কিন্তু প্রোগ্রাম এখনও সঠিকভাবে কাজ করা হয় না। আমি একটি ত্রুটি পেয়েছি ImportError: No module named odbchelper,। সুতরাং এটি স্পষ্টভাবে পাথটি যোগ হচ্ছে না, বা কিছু সমস্যা আছে যা আমার সমস্ত __init__.pyফাইল যুক্ত করার অনুমতি বাতিল করেছে।

এটি খুব হতাশাবোধক যে এই সাধারণ কিছু ... আমার মেশিনে অন্য কোথাও উপস্থিত কিছু ফাইল থেকে জিনিস কল করার জন্য ... এই প্রচেষ্টার প্রয়োজন।


আপনার পাইথোনপথের সমস্ত প্রয়োজনীয় ডিরেক্টরিতে কেস (মূলধন) সঠিক কিনা তা নিশ্চিত করুন।
ক্যাম জ্যাকসন

আমি জানি এটি ইতিমধ্যে উত্তর দেওয়া হয়েছে, কিন্তু আমি grpমডিউলটির জন্য অমীমাংসিত আমদানি পেয়ে যাচ্ছিলাম । আমি কেবলমাত্র এটিকে builtinsপছন্দের> পাইডেভ> দোভাষী> পাইথন> জোর করে বিল্টিনগুলিতে তালিকায় যুক্ত করেছি এবং এখনও সেই মডিউলটির জন্য
অটোকম্প্লিশন পেয়েছি

উত্তর:


132

আপনার পাইদেব প্রকল্পের বৈশিষ্ট্যগুলিতে "বাইরের গ্রন্থাগারগুলি" নামে একটি উপ-ফলক সহ "পাইডিভ - পাইথনপথ" নামে একটি ফলক রয়েছে। __init__.pyসেই ফলকটি ব্যবহার করে আপনি সোর্স ফোল্ডারগুলিতে (যে কোনও ফোল্ডারের একটি রয়েছে ) যোগ করতে পারেন । আপনার প্রকল্পের কোডগুলি সেই উত্স ফোল্ডারগুলি থেকে মডিউলগুলি আমদানি করতে সক্ষম হবে।


4
আপনি যদি পাইদেব বৈশিষ্ট্যগুলি সঠিকভাবে সেট করেন তবে আপনার সাথে গণ্ডগোলের দরকার নেইsys.path
Velociraptors

6
অন্যান্য অনুসন্ধানকারীদের জন্য, আমি আমার অভিজ্ঞতা যুক্ত করতে চেয়েছিলাম - উইন্ডোজ 7, ​​পাইথন ২.7.১, এক্লিপস ৩.6.২, পাইডেভ, পাইসপগ (পাইথন ২.7 এএমডি For64 এর জন্য)। সাইকোপগের ইনস্টলটি সি: \ পাইথন 27 \ লিবি \ সাইট-প্যাকেজস \ সাইকোপজি 2 (পাইথন ২.7 ইনস্টলেশনের অধীনে) গিয়েছিল। আমি প্রথম সেই ফোল্ডারটি এবং সমস্ত শিশু ফোল্ডারগুলিকে init .py সহ রেফারেন্স করেছি, তবে আমি খুঁজে পেয়েছি যে সাইট_প্যাকেজগুলি ফোল্ডারটিও আমাকে রেফারেন্স করতে হবে। ( স্ট্যাকওভারফ্লো.com / জিজ্ঞাসা / 2983088 / unresolve-import-models ) ( স্ট্যাকওভারফ্লো. com / প্রশ্নগুলি / ৪63৩৩777777//২ )
জেফ মাশ

86
অন্য একটি বিষয় লক্ষণীয় - এটি কাজ করার জন্য গ্রহনটি পুনরায় চালু করা দরকার। এটি কেবল "ফাইল -> পুনঃসূচনা" এর মাধ্যমে কাজ করে এবং ম্যানুয়ালি বন্ধ করে এবং পুনরায় খোলার মাধ্যমে নয় বলে মনে হয়।
সোলবিট

18
গুরুত্বপূর্ণ নোট: আমি দেখেছি যে, অনুবাদক অটো কনফিগ যোগ C:\Python27\lib\site-packages, কিন্তু আমার কম্পিউটারে, liberal এর সংক্ষিপ্ত রূপ ফোল্ডারের মূলধন হল: C:\Python27\Lib\site-packages। লোয়ার-কেস এন্ট্রিটিকে একটি বড় কেসের সাথে প্রতিস্থাপন করে এবং তারপরে ফাইল-> পুনঃসূচনা আমার জন্য সমস্যাটি স্থির করে। আশা করি সেখানকার অন্য কাউকে সাহায্য করবে :)
ক্যাম জ্যাকসন

10
@ সোলবিট আমি আশা করি যে আমি 20 বার মন্তব্য করতে পারতাম, কেন আমার আমদানি এখনও সমাধান হয়নি তা জানার চেষ্টা করার জন্য আমি একটি ভাল সময় ব্যয় করেছি। আপনাকে ধন্যবাদ
ম্যাট ডজ

51

আমি গ্রহণ করছি কেপলার ৪.৩, পাইডেভ ৩.৯.২ এবং আমার উবুন্টু ১৪.০৪ এ আমি একই সমস্যার মুখোমুখি হয়েছি। উপরোক্ত বেশিরভাগ বিকল্পের সাথে আমি চেষ্টা করেছি এবং ঘন্টা ব্যয় করেছি তবে তা নিরর্থক। তারপরে আমি নিম্নলিখিতটি চেষ্টা করেছিলাম যা দুর্দান্ত ছিল:

  • নির্বাচন প্রকল্প -> RightClick-> PyDev -> সরান PyDev প্রকল্প কনফিগ
  • ফাইল-> পুনরায় চালু করুন

এবং আমি পাইথন ২.7 ব্যবহার করে দোভাষী হিসাবে ব্যবহার করেছি, যদিও এটি কার্যকর হয় না, আমি মনে করি।


5
Eclipse পুনরায় আরম্ভ করার দরকার নেই, কেবল ফাইলটি বন্ধ এবং পুনরায় খুলুন। এটি উইন্ডোজটিতে এক্লিপস লুনার সাথেও কাজ করেছে, ধন্যবাদ!
নোয়াম মানস

সতর্কতাগুলি অদৃশ্য করার জন্য আমাকে দুইবার Eclipse পুনরায় চালু করতে হয়েছিল। আপনাকে ধন্যবাদ
ভ্লাদিমির এস।

পাইথন 3.7 এর সাথেও কাজ করে। এটি এই প্রশ্নের সমাধান হওয়া উচিত।
এসপিআরবিএনএন

আমি এটি চেষ্টা করেছি এবং এখন আমি আমার ডিইভি সার্ভারটি আরম্ভ করতে পারছি না। আমি কীভাবে ফাইলটি প্রতিস্থাপন করব?
লি লোফ্টিস

@ বিটবিটি-বেক এর মূল কারণ কী?
ankostis

42

আমি সবেমাত্র একটি ডাব্লুএক্সউইনডম প্রজেক্টটি পাইথন ২.7 এ আপগ্রেড করেছি এবং পাইদেবকে নতুন দোভাষীটি সনাক্ত করতে পেরে সমস্যার কোনও শেষ নেই। উপরোক্তির জন্য অনুবাদককে কনফিগার করার মতোই কাজটি করেছেন, গ্রহগ্রহ এবং পাইদেবের একটি নতুন ইনস্টল করেছেন। ভেবেছিলাম অজগরটির কিছু অংশ অবশ্যই দূষিত হয়ে গেছে, তাই আমি আবার সব কিছু পুনরায় ইনস্টল করেছি। Arghh! প্রকল্পটি বন্ধ ও পুনরায় চালু করা হয়েছে এবং এই সমস্ত পরিবর্তনের মধ্য দিয়ে পুনরায় সূচনা শুরু হয়েছে।

শেষ পর্যন্ত লক্ষ্য করা গেছে যে আপনি প্রকল্পটিতে ডান ক্লিক করে 'পাইডিভ প্রকল্প কনফিগারেশন সরান'। তারপরে এটিকে আবার পাইডেভ প্রকল্পে তৈরি করা যায়, এখন এটি সোনার মতো ভাল!


হ্যাঁ, এই বিরক্তিকর আমদানির বার্তা থেকে মুক্তি পেতে প্রকল্পটি বন্ধ করে আবার খোলা হয়েছে
সোমনাথচক্রবর্তী

17

আমি আমার পাইথনপথটি ঠিক করেছিলাম এবং কনসোলের মাধ্যমে স্টাফ আমদানি করার সময় সমস্ত কিছুই ছিন্নমূল ছিল, তবে পূর্ববর্তী অমীমাংসিত এই সমস্ত আমদানি এখনও আমার কোডটিতে ত্রুটি হিসাবে চিহ্নিত হয়েছিল, যতক্ষণ না আমি গ্রহীতাকে পুনরায় চালু করেছি বা পুনরায় রিফ্রেশ করেছি / প্রকল্পটি পরিষ্কার করেছি matter

আমি প্রজেক্টটি ডানদিকে ক্লিক করেছি-> পাইদেব-> ত্রুটি চিহ্নিতকারীগুলি সরান এবং এটি এই সমস্যা থেকে মুক্তি পেয়েছে। চিন্তা করবেন না, যদি আপনার কোডটিতে প্রকৃত ত্রুটি থাকে তবে সেগুলি পুনরায় চিহ্নিত করা হবে।


এটি ওডু 10 এর সাথে লিলিপ্স ব্যবহার করে দুর্দান্ত কাজ করে Thanks ধন্যবাদ!
দিদিহর

11

প্রকল্প -> বৈশিষ্ট্য -> পাইদেব-পাইথনপাথ -> বাহ্যিক গ্রন্থাগারগুলি -> উত্স ফোল্ডার যুক্ত করুন, প্রকল্পের প্যারেন্ট ফোল্ডার যুক্ত করুন। তারপরে গ্রহনটি পুনরায় চালু করুন।


2
ঠিক আছে, এটিই আমার সমস্যার সমাধান করেছিল।
সাইমন হ্যাওয়ার্ড

কেবল পুনরায় আরম্ভ করার দরকার নেই এবং ফাইলটি আবার খুলুন। এটা আমার জন্য স্থির!
জেরের

4

আমার জন্য যা কাজ করেছে তা এখানে রয়েছে (স্যুটবিট দ্বারা চাপানো):

1) Restart using restart from the file menu
2) Once it started again, manually close and open it.

এটি সর্বকালের সহজ সমাধান এবং এটি বিরক্তিকর জিনিসটিকে পুরোপুরি সরিয়ে দেয়।


1

এই সমস্যাটি সমাধান করার দুটি উপায় রয়েছে:

  • "পাইথন দোভাষী" থেকে পাইথন ইন্টারপ্রেটার মুছুন এবং আবার যুক্ত করুন।
  • অথবা আপনি আপনার প্রকল্পে যে দোভাষীটি ব্যবহার করছেন সেগুলিতে লাইব্রেরিগুলির সাথে কেবল ফোল্ডারটি যুক্ত করুন, আমার ক্ষেত্রে আমি "বোতল" ব্যবহার করছিলাম এবং আমি যে ফোল্ডারটি যুক্ত করেছিলাম তা ছিল "সি: \ পাইথন 33 \ লিবি \ সাইট-প্যাকেজগুলি \ বোতল-0.11.6 -py3.3.egg "

এখন আমি ত্রুটিটি আর দেখতে পাচ্ছি না, এবং কোড সমাপ্তি বৈশিষ্ট্যটি "বোতল" এর সাথেও কাজ করে।


1

আমি Eclipse 4.2.0 (জুনো) এবং পাইডেভ ২.৮.১ চালাচ্ছি, এবং আমার সাইট-প্যাকেজগুলির পথে ইনস্টল একটি lib দিয়ে এই সমস্যায় পড়েছি। এই এসও প্রশ্ন অনুসারে:

পাইদেব এবং * .pyc ফাইল

... পাইডেভ এবং পাইক ফাইলগুলির সাথে একটি সমস্যা আছে। যে বিশেষ লিবিয়ার ক্ষেত্রে আমি রেফারেন্স দেওয়ার চেষ্টা করেছি, সেগুলি হ'ল পাইক ফাইল।

আমি এটিকে সম্বোধন করতে যা করেছি তা এখানে:

  1. থেকে uncompyle2 ইনস্টল করুন https://github.com/Mysterie/uncompyle2
  2. সাইট প্যাকেজ লাইবে * .pyc ফাইলগুলির বিরুদ্ধে আনম্পম্পাইল 2 চালান। উদাহরণ:

    uncompyle2 -r -o / tmp / পাথ / থেকে / সাইট-প্যাকেজ / lib

  3. আনম্পম্পাইল 2 থেকে * .py এ উত্পাদিত * .pyc_dis ফাইলগুলির নাম পরিবর্তন করুন
  4. সাইট প্যাকেজ পথে এই * .py ফাইলগুলি সরান / অনুলিপি করুন
  5. Eclipse এ, ফাইল> পুনরায় চালু নির্বাচন করুন

.Pyc ফাইল সম্পর্কিত অমীমাংসিত আমদানি ত্রুটি এখন অদৃশ্য হয়ে যাবে।


0

আমার মতে অনুসরণ করা, সমস্যার সমাধান করবে

  1. যোগ করার পদ্ধতি Init আপনার "~ / ডেস্কটপ / Python_Tutorials / diveintopython / PY" ফোল্ডারে .py
  2. উইন্ডোতে যান -> অগ্রাধিকার -> পাইডেভ -> দোভাষী -> পাইথন ইন্টারপ্রেটার আপনার পাইথন ইন্টারপ্রেটার সেটিংসটি মুছতে (কারণটি পাইডেভ কোনও সিস্টেম পাইথনপ্যাথে করা কোনও আপডেট স্বয়ংক্রিয়ভাবে রিফ্রেশ করতে অক্ষম)
  3. পূর্বের মতো একই বিশদ সহ দোভাষীকে যুক্ত করুন (এটি আপনার পাইথনপ্যাথের সাথে আপডেট হওয়া আপনার পাইথন ইন্টারপ্রেটার সেটিংসকে রিফ্রেশ করবে)
  4. অবশেষে আপনার "~ / ডেস্কটপ / পাইথন _ টিউটোরিয়ালস / ডাইভেন্টোপাইথন / পাই" ফোল্ডারটি স্ট্যান্ডার্ড পাইথনপথ নয়, আপনাকে এটি যুক্ত করতে হবে do এটি করার দুটি উপায় আছে

ক। ডেভিড জার্মান যা বলেছিল সে অনুসারে। তবে এটি কেবলমাত্র আপনি খ প্রকল্পের জন্য প্রযোজ্য। উইন্ডো -> পছন্দসমূহ -> পাইডেভ -> দোভাষী -> পাইথন ইন্টারপ্রেটার -> লাইব্রেরি সাবট্যাব -> নিউফোল্ডার - "উইন্ডো - এর অধীনে একটি নতুন পাইথনপথে" ~ / ডেস্কটপ / পাইথন_টোরিয়ালস / ডাইভাইনটোপিথন / পাই "যুক্ত করুন

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


0

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


-1
KD.py

class A:
a=10;

KD2.py 
from com.jbk.KD import A;
class B:
  b=120;

aa=A();
print(aa.a)

এটি আমার জন্য পুরোপুরি ফাইল কাজ করে works

অন্য একটি উদাহরণ

main.py
=======
from com.jbk.scenarios.objectcreation.settings import _init
from com.jbk.scenarios.objectcreation.subfile import stuff

_init();
stuff();

settings.py
==========
def _init():
print("kiran")


subfile.py
==========
def stuff():
print("asasas")    

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