पायथन: डेटाइम नाम का कोई मॉड्यूल नहीं?


56

ओएस: उबंटू 14.04 एलटीएस

अजगर: 2.7.6

पेटू नुस्खा प्रबंधक की मेरी स्थापना ने अचानक लोड करना बंद कर दिया। जब मैं इसे टर्मिनल विंडो में चलाता हूं, तो मुझे ट्रेसबैक के अंत में निम्नलिखित मिलता है:

import datetime as dt
ImportError: No module named datetime

अब तक मैं बता सकता हूं, कुछ भी नहीं बदला गया है और मेरा पायथन इंस्टॉलेशन अप टू डेट है। यह बस कल काम करना छोड़ दिया। मैं निश्चित रूप से इस समस्या का निदान और ठीक करने के लिए एक अच्छे दृष्टिकोण की सराहना करूंगा!

अद्यतन करें: जिन्होंने उत्तर दिया उन सभी का धन्यवाद!

टिम, मुझे खेद है अगर मैंने यह सवाल गलत जगह पर पूछा। कृपया इसे उबंटू वेबसाइट के लिंक के बाद एक नया आदमी बनने के लिए तैयार करें।

TheSchwa, मैंने आपके सुझाव की कोशिश की और ऊपर जैसा ही त्रुटि संदेश मिला।

muru, पैकेज स्थापित होने लगता है, लेकिन मुझे पता नहीं है कि यह सही तरीके से स्थापित / कॉन्फ़िगर किया गया है। मुझे कैसे पता चलेगा?

मुझे सभी सवालों के लिए खेद है, लेकिन मैं एक पुराना रेडहैट लड़का हूं जो कुछ समय से लिनक्स से दूर है। सभी उपयुक्त / dpkg सामान मेरे लिए नया है।


जबकि यह (बस) इस विषय पर है, आपको स्टैक ओवरफ्लो पर बेहतर प्रतिक्रिया मिल सकती है । इसके अलावा, मैं इसे पुन: पेश नहीं कर सकता। आप के रूप में एक ही सेट-अप पर कोई त्रुटि नहीं ...
टिम

यदि आप import datetimeअजगर दुभाषिया में कोशिश करते हैं तो क्या होता है ? आप टर्मिनल खोलकर और निष्पादित करके दुभाषिया शुरू कर सकते हैं python। आप इसे छोड़ सकते हैं Ctrl+d
द स्स्च्वा

के अनुसार dpkg -S $(python -c "import datetime; print datetime.__file__"), डेटाटाइम मॉड्यूल libpython2.7-stdlibपैकेज से है। क्या वह पैकेज सही तरीके से स्थापित है? क्या आप इसे पुनः स्थापित करने का प्रयास कर सकते हैं?
मूरू

ठीक है, तो क्या विशिष्ट फ़ाइल /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.soआपके पास है? क्या आप भी /usr/lib/python2.7/lib-dynloadआउटपुट में सूचीबद्ध हैं echo $(python -c "import sys; print sys.path")? जब आप अपनी पोस्ट को संपादित करते हैं, तो Btw स्टैक एक्सचेंज सिस्टम टिप्पणीकारों को सूचित नहीं करता है; तो बहुत कम से कम हमेशा एक त्वरित टिप्पणी पोस्ट करें जैसे कि "जानकारी के साथ अपडेट किया गया सवाल" इसलिए हमें एक सूचना मिलती है कि हमें वापस चेक करने के लिए कहा जाए :)
TheSchwa

जानकारी के साथ अद्यतन प्रश्न। धन्यवाद, थेस्वा! मेरे जवाब क्रमशः नहीं और हां हैं। अब, मुझे datetime.x86_64-linux.gnu.so की एक नई प्रति कहां मिल सकती है? :)
जो

जवाबों:


84

यह सिर्फ 14.10 अपडेट के बाद मेरे साथ हुआ, और ऐसा इसलिए लगता है क्योंकि मेरे आभासी वातावरण की पुरानी प्रतियां हैं /usr/bin/python2.7- नए बाइनरी के विपरीत - datetimeबिल्ट-इन शामिल नहीं हैं , और इसलिए जब वे इसे डिस्क पर नहीं पा सकते हैं, तो एक त्रुटि मिलती है। । नया दुभाषिया इसे बिना किसी फ़ाइल I / O के आयात करने लगता है (इसे straceजांच के तहत चलाने की कोशिश करें)।

मैंने प्रत्येक वर्चुअल वातावरण को सक्रिय करके और चलाकर तय किया:

$ cp /usr/bin/python2.7 $(which python2.7)

5
धन्यवाद लेकिन यह आवश्यक क्यों है? एक उन्नयन पर अजगर को तोड़ना गंदा सामान है।
सामंथा एटकिंस

1
मैंने इस पृष्ठ पर अन्य उत्तरों की कोशिश की और उन्होंने काम नहीं किया, लेकिन इस एक ने किया।
माइकल टेरी

2
मिल गया, cp: '/usr/bin/python2.7' and '/usr/bin/python2.7' are the same fileलेकिन त्रुटि अभी भी मौजूद है
उमैर

@Umair आपकी activateस्क्रिप्ट में कुछ गड़बड़ हो सकती है , उस स्थिति में - सामान्य रूप से, सक्रियण के बाद, which python2.7पर्यावरण के पायथन को रास्ता दिखाएगा, सिस्टम पायथन को रास्ता नहीं लौटाएगा।
ब्रेंडन रोड्स

29

आप बस इसके द्वारा virtualenv को फिर से संगठित कर सकते हैं:

cd $VIRTUAL_ENV
virtualenv .

2
ध्यान दें कि यह virtualenv .इसके बजायvirtualenv ,
icyrock.com

4
ब्रैंडन रोड्स की तुलना में यह उत्तर बेहतर है।
अज़ूरिन

यदि कोई virtualenvwrapper का उपयोग करता है cd $VIRTUAL_ENV
मैकी

OSError: [Errno 1] Operation not permitted
सेरिन

@ कैरिन, मुझे एक ही समस्या थी, मैंने sudo virtualenv .नए पायथन निष्पादन योग्य स्थापित करने के लिए बस एक का उपयोग किया , और फिर पूरे $VIRTUAL_ENVको सही निर्देशिका स्वामी में बदल दिया ।
iMitwe

29

यदि आप अपग्रेड के बाद letencrypt का उपयोग करने की कोशिश कर रहे हैं, तो इस समाधान ने मेरे लिए काम किया letencrypt मंचों - ऑटो आयात का उपयोग नहीं कर सकते: त्रुटि: io / 2345/3 नाम का कोई मॉड्यूल नहीं

मुझे इसे हटाना पड़ा:

rm ~/.local/share/letsencrypt -R

8
मुझे rm -rf /opt/eff.orgयह काम भी करना था
चार्लीडेल्टा

7
निष्कासन / अपनाना / हटाना। इसे ठीक कर दिया
पाला

1
मेरे लिए भी यही ... /opt/eff.org
cljk

2

मुझे भी यही समस्या थी और आखिरकार यह तय किया गया कि यह एडब्ल्यूएस सीएलआई होना चाहिए क्योंकि मैंने देखा कि इसकी खुद की अजगर निर्देशिका थी। इसलिए मैंने एडब्ल्यूएस सीएलआई की स्थापना रद्द की और इसे फिर से स्थापित किया और इस समस्या को ठीक किया:

sudo pip uninstall awscli

sudo pip install awscli


0

जैसा कि मैंने 14.04 में कुछ बदलाव पाए हैं इसलिए आपको इसे रूट से करने की आवश्यकता है:

केवल जीवनकाल के लिए:


ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/datetime.so

सभी मॉड्यूल के लिए:


ln -s /usr/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/audioop.so
ln -s /usr/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/_bsddb.so
ln -s /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/bz2.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_cn.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_hk.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/_codecs_iso2022.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_jp.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_kr.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so                    /usr/lib/python2.7/lib-dynload/_codecs_tw.so
ln -s /usr/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so                         /usr/lib/python2.7/lib-dynload/crypt.so
ln -s /usr/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/_csv.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so                  /usr/lib/python2.7/lib-dynload/_ctypes_test.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_ctypes.so
ln -s /usr/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so                 /usr/lib/python2.7/lib-dynload/_curses_panel.so
ln -s /usr/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_curses.so
ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/datetime.so
ln -s /usr/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/dbm.so
ln -s /usr/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so                  /usr/lib/python2.7/lib-dynload/_elementtree.so
ln -s /usr/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/fpectl.so
ln -s /usr/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/future_builtins.so
ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_hashlib.so
ln -s /usr/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_hotshot.so
ln -s /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so                         /usr/lib/python2.7/lib-dynload/_json.so
ln -s /usr/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so                 /usr/lib/python2.7/lib-dynload/linuxaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/_lsprof.so
ln -s /usr/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/mmap.so
ln -s /usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so               /usr/lib/python2.7/lib-dynload/_multibytecodec.so
ln -s /usr/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so              /usr/lib/python2.7/lib-dynload/_multiprocessing.so
ln -s /usr/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so                           /usr/lib/python2.7/lib-dynload/nis.so
ln -s /usr/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so                   /usr/lib/python2.7/lib-dynload/ossaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so                        /usr/lib/python2.7/lib-dynload/parser.so
ln -s /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/pyexpat.so
ln -s /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/readline.so
ln -s /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/resource.so
ln -s /usr/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so                      /usr/lib/python2.7/lib-dynload/_sqlite3.so
ln -s /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so                          /usr/lib/python2.7/lib-dynload/_ssl.so
ln -s /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so                       /usr/lib/python2.7/lib-dynload/termios.so
ln -s /usr/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so                     /usr/lib/python2.7/lib-dynload/_testcapi.so

इसके अलावा अगर आप वर्चुअल एनवी कॉपी का इस्तेमाल करते हैं

cp $(which python2.7) /opt/graphite/bin/python

आपके एनवी को।


3
मैंने 14.04 में अपग्रेड किया और मुझे कोई सिमिलिंक करने की जरूरत नहीं पड़ी। क्या आप कोई सबूत दे सकते हैं कि सिस्टम के काम को इस तरह से गड़बड़ाना जरूरी है और इसे टाला नहीं जा सकता?
एंड्रिया लज्जाज़ारो

0

जब मुझे Ubuntu 14.04 से 14.10 पर अपग्रेड किया गया, तो मुझे त्रुटि मिली। मैंने अपने virtualenv को फिर से बनाया और मुद्दा चला गया। इसलिए यदि आप एक virtualenv के साथ काम कर रहे हैं, तो आपको इसे फिर से बनाना चाहिए।

हालाँकि यदि आप नहीं करते हैं, तो मुझे लगता है कि आपके प्रोजेक्ट को फिर से स्थापित करना काम करेगा। किसी भी सिस्टम पुस्तकालयों को मत छुओ! यह समय के लिए काम कर सकता है, लेकिन संभवतः दूसरों के साथ मुद्दों को जन्म देगा।


0

यह कुछ उबंटू उन्नयन के बाद होता है। मेरा पसंदीदा समाधान है

$ virtualenv --no-site-packages path/to/virtualenv/dir

यह पहले से इंस्टॉल किए गए पैकेजों को हटाने के बिना आवश्यक सब कुछ अपडेट करता है।

यदि आपके पास अपडेट करने के लिए कई virtualenvs हैं, तो आप उपयोग कर सकते हैं xargs:

$ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.