2012-07-09 22 views
77

मैं अपने रास्पबेरी पीआई डेबियन पर पाइथन 2.6 के साथ एक सीरियल पोर्ट तक पहुंचने का प्रयास कर रहा हूं। मैं इंटरैक्टिव अजगर में एक ही कोड टाइप करने के लिए प्रयास करते हैंपायथन विशेषताएँ त्रुटि: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है 'सीरियल'

AttributeError: 'module' object has no attribute 'Serial' 

:

import serial 
ser = serial.Serial('/dev/ttyAMA0', 9600) 
ser.write("hello world!") 

किसी कारण यह इस त्रुटि के साथ धारावाहिक कनेक्शन स्थापित करने के लिए मना कर दिया के लिए: मेरे स्क्रिप्ट serial.py नामित pySerial आयात करना चाहता है दुभाषिया यह अभी भी काम नहीं करता है।

आश्चर्यजनक रूप से, यह लगभग कुछ घंटे पहले काम करता था।

समस्या क्या हो सकती है? मैंने थोड़ी देर के लिए इसे ठीक करने की कोशिश की है, फिर से पीईएसरियल इंस्टॉल कर रहा है, मेरे कोड को दोबारा लिखना, धारावाहिक बंदरगाह को दोबारा जांचना, आदि

अग्रिम धन्यवाद!

+4

क्या आपने 'सीरियल आयात धारावाहिक' से प्रयास किया है? – mVChr

+0

क्या आपने मॉड्यूल को अनइंस्टॉल किया था या पायथन संस्करणों को बदल दिया था? – inspectorG4dget

+1

ट्रेसबैक कहता है ...? –

उत्तर

64

आप कक्षा में नहीं, मॉड्यूल आयात कर रहे हैं। तो, आपको लिखना होगा: from serial import serial

+3

काम किया! धन्यवाद। –

+3

मॉड्यूल आयात करते समय मुझे कई बार एक ही समस्या थी। मुझे समझ में नहीं आता कि यह कुछ मामलों में क्यों काम करता है (उदाहरण के लिए जब आप [* सीरियल * वेबसाइट] (http://pyserial.sourceforge.net/shortintro.html) में कुछ उदाहरण देखते हैं) – VGO

+9

मैंने कोशिश की। काम नहीं। त्रुटि "आयात त्रुटि: नाम धारावाहिक आयात नहीं कर सकता" –

128

मैं उन लोगों के लिए यह समाधान जोड़ रहा हूं जो मैंने वही गलती की है।

ज्यादातर मामलों में: अपनी प्रोजेक्ट फ़ाइल 'serial.py' का नाम बदलें और मौजूद होने पर serial.pyc को हटाएं, तो आप विशेषता त्रुटि के बिना सरल 'आयात धारावाहिक' कर सकते हैं।

समस्या तब होती है जब आप 'कुछ' आयात करते हैं जब आपका पायथन फ़ाइल नाम 'something.py' होता है।

+2

हाँ .. मैंने अपनी टेस्ट फ़ाइल "serial.py" नाम दिया है, इसलिए आयात धारावाहिक स्वयं आयात कर रहा था .. – PedroMorgan

+3

ग्रेट। आपने मेरी समस्या हल की। बहुत बहुत धन्यवाद –

+2

वाह, यह नहीं देख रहा था। बालों को खींचने में 45 मिनट बिताएं। – Ultratrunks

2

तुम मुझे पसंद असहाय हैं, तो यह प्रयास करें:

सूची के सभी उप-मॉड्यूल "सीरियल" (या जो भी पैकेज आप के साथ परेशानी हो रही है) विधि यहाँ वर्णित के साथ: List all the modules that are part of a python package

में मेरी मामले, समस्याओं को एक दूसरे के बाद हल किया।

... मेरे लिए एक बग की तरह दिखता है ...

1

यह त्रुटि यदि आप परिपत्र निर्भरता है हो सकता है। अपने आयात की जांच करें और सुनिश्चित करें कि आपके पास कोई चक्र नहीं है।

1

यह समस्या आपके प्रकोष्ठ को serial.py नाम दिया गया है और आयातित लाइब्रेरी नाम सीरियल भी है, नाम बदलें और यह सब कुछ है।

+0

यह मेरे मामले में बिल्कुल समस्या थी। कभी भी एक ऐसा नाम नहीं चुना जो आयात पुस्तकालय के बराबर है। – JohnnyFromBF

38

मैंने गलती से 'pySerial' (sudo python -m pip install pyserial) के बजाय 'धारावाहिक' (sudo python -m pip install serial) स्थापित किया, जो एक ही त्रुटि का कारण बनता है।

यदि पहले उल्लिखित समाधान आपके लिए काम नहीं करते हैं, तो दोहरी जांच करें कि आपने सही लाइब्रेरी इंस्टॉल की है या नहीं।

+0

और फिक्स दोनों को अनइंस्टॉल करना है, फिर पाइसरियल को पुनर्स्थापित करें। – jcaron

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

  • कोई संबंधित समस्या नहीं^_^