2014-04-03 5 views
7

में परिभाषित नहीं किया गया है मेरे पास निम्न प्रोग्राम है, और कुछ और नहीं, पायथन 3.3। जब मैं इसे चलाता हूं। मुझेमैं नाम त्रुटि कैसे हल करूं: नाम 'थ्रेडिंग' को पायथन 3.3

NameError: name 'threading' is not defined 

मैंने गुगल किया लेकिन मेरे उत्तर की व्याख्या के उत्तर में से कोई भी जवाब नहीं मिला। कोई सुराग? धन्यवाद!

#!/usr/bin/python 

import Utilities 
import os 
import sys 
import getopt 
import time 
from queue import Queue 
from threading import Thread 

_db_lock=threading.Lock() 

मैं भी

_db_lock=threading.Lock 
+1

सिर्फ सूत्रण – SzieberthAdam

+0

आप चाहिए आयात * अपवाद के साथ एक प्रश्न पोस्ट करते समय हमेशा * अपनी त्रुटि का पूरा पता लगाएं। – msvalkon

उत्तर

13

आप सूत्रण आयात करना चाहिए की कोशिश की। आपकी फ़ाइल की शुरुआत करने के लिए निम्न करें:

import threading 

लाइन से त्रुटि स्रोत:

_db_lock=threading.Lock() 

क्योंकि आप from threading import Thread का उपयोग किया है, लेकिन आप कभी नहीं वास्तव में करने के लिए शुरू की है threading है कि स्थानीय नामस्थान। अभी तक केवल Thread है (भले ही तकनीकी रूप से आयात है, यह सिर्फ नामस्थान में नहीं है, आप इसका उपयोग नहीं कर सकते हैं)।

यदि किसी कारणवश आप 'प्रदूषण' अपने नाम स्थान से threading रखने के लिए, एक ही तरीके से आयात Lock के रूप में आप Thread आयात किया है, इसलिए की तरह चाहते हैं के लिए:

from threading import Thread, Lock 
_db_lock = Lock() 
संबंधित मुद्दे