मैं यहाँ एक अजीब व्यवहार हो रही है:Django 1.9a1 __init__.py ग्रहण/PyDev में दिख रहा है, भले ही यह हटा दिया जाना चाहिए (विंडोज़)
मैं बस का उपयोग कर Django 1.9a1 से Django 1.9.4 करने के लिए उन्नत पिप। स्थापना ठीक हो गई और Django आसानी से चल रहा था, लेकिन शुरू होने के दौरान, यह अभी भी संस्करण संख्या "1.9 ए 1" दिखाया।
बस यह सुनिश्चित करने के लिए कि मैंने डीजेगो को दोबारा पाइप का उपयोग करके अनइंस्टॉल किया और पुष्टि की कि मेरे django फ़ोल्डर्स अब सी: \ प्रोग्राम फ़ाइलें (x86) \ पायथन 3.5 \ lib \ site-packages में मौजूद नहीं हैं (न तो "django" और न ही "django" "Django-1.9.4" फ़ोल्डर)।
सर्वर फिर से शुरू करने के बाद, मैं त्रुटि संदेश
from django.core.management import execute_from_command_line
File "C:\Program Files (x86)\Python 3.5\lib\site-packages\django\__init__.py", line 1, in <module>
from django.utils.version import get_version
ImportError: No module named 'django.utils'
पढ़ने के लिए हैरान था मैं त्रुटि की तरह "पैकेज नहीं मिला Django" या ऐसा ही कुछ होने की उम्मीद। के बाद से ग्रहण कड़ी के रूप में फ़ाइल नाम प्रदान करता है, मैं उस पर क्लिक किया ग्रहण सामग्री
from django.utils.version import get_version
VERSION = (1, 9, 0, 'alpha', 1)
__version__ = get_version(VERSION)
[...]
मैं दोबारा जांच कि इस फाइल कमांड लाइन के माध्यम से और Windows Explorer के माध्यम से उपलब्ध नहीं है के साथ एक फ़ाइल खोल दिया।
यह फ़ाइल कहां स्थित है और मैं इससे कैसे छुटकारा पा सकता हूं? या यह स्वचालित रूप से जेनरेट किया गया है (और यदि हां, तो मैं इस तंत्र को कैसे ठीक कर सकता हूं)
या क्या मुझे कुछ पूरी तरह याद आ रही है?
अतिरिक्त जानकारी: मैं फिर से स्थापित Django 1.9.4 और init .py सेल्सियस पर स्थित फ़ाइल:। \ Program Files (x86) \ अजगर 3.5 \ lib \ साइट-संकुल \ django__init __ py सही संस्करण से पता चलता जानकारी। लेकिन फिर भी, अगर मैं Django प्रोजेक्ट चलाता हूं, तो संस्करण की जानकारी 1.9 ए 1 है।
यहां तक कि जब मैं एक cmd शीघ्र खोलने के लिए और
python -c "import django; print(django.get_version())"
दर्ज जवाब 1.9a1
17:57 है अद्यतन 2016/03/13: मैं फिर से स्थापना रद्द की और स्पष्ट == इस्तेमाल किया 1.9 एलेक्स द्वारा सुझाए गए 4। इस समस्या का एक हिस्सा हल: अब, अगर मैं कमांड लाइन खोलने के लिए,
python -c "import django; print(django.get_version())"
मुझे सही जवाब (1.9.4) देता है। लेकिन ग्रहण/पायडेव में, मेरी परियोजना अब शुरू नहीं हो रही है। पहले त्रुटि संदेश है:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03F72108>
Traceback (most recent call last):
File "C:\Program Files (x86)\Python 3.5\lib\site-packages\django\apps\config.py", line 118, in create
cls = getattr(mod, cls_name)
AttributeError: module 'django.contrib' has no attribute 'admin'
बेशक
, admin
मॉड्यूल फाइल सिस्टम पर मौजूदा कर रहा है।
बस की जांच करने, मैं
django-admin startproject mysite
का उपयोग कर कंसोल में एक नई परियोजना शुरू कर दिया और नई परियोजना सफलतापूर्वक बनाया जाता है।
जब मैं एक नई परियोजना शुरू करने के लिए ग्रहण के अंदर पाइडेव का उपयोग करता हूं ("नया"/"पायडेव डीजेगो प्रोजेक्ट" का उपयोग करके) प्रक्रिया विफल हो जाती है! प्रोजेक्ट निर्देशिका के साथ-साथ manage.py बनाया गया है, लेकिन प्रोजेक्ट निर्देशिका खाली है (init .py, settings.py, urls.py, wsgi.py)।
ऐसा लगता है जैसे ग्रहण/पायडेव सही django स्थापना का उपयोग नहीं कर रहा है, भले ही सभी फ़ाइल नाम सही हैं। क्या कोई कैशिंग शामिल हो सकती है? और हाँ, मैंने पुन: स्थापना के बाद ग्रहण फिर से शुरू किया।
अतिरिक्त जानकारी 2016-03-14 17:44: मैंने अभी अपने कंप्यूटर को फिर से शुरू किया और आश्चर्यजनक रूप से, मेरे ग्रहण अब मेरी परियोजना को फिर से चलाने में सक्षम थे - ऊपर वर्णित त्रुटि गायब हो गई, लेकिन प्रदर्शित django संस्करण संख्या है 1.9 ए 1 फिर से! अब मैंने कमांड प्रॉम्प्ट निकाल दिया और python -c "import django; print(django.get_version())"
ने मुझे 1.9 ए 1 फिर भी दिया! मैंने आगे क्या किया था कमांड प्रॉम्प्ट को व्यवस्थापक के रूप में फिर से शुरू करना था - और टाटा - मुझे 1.9.4 मिल गया।
तो समस्या व्यवस्थापक विशेषाधिकारों से संबंधित प्रतीत होती है जो C:\Program Files (x86)\Python 3.5
में पाइथन स्थापित करने के कारण हो सकती हैं। मैंने ऊपर वर्णित सभी पाइप इंस्टॉल/अनइंस्टॉल के लिए व्यवस्थापक अधिकारों के साथ कंसोल विंडो का उपयोग किया। क्या कुछ खिड़कियां तंत्र है जो इस व्यवहार को समझा सकता है?
समाधान 2016/03/14 18:17: अब मैं अपने पूरे सी खोज: युक्त "Django" फ़ोल्डर के लिए ड्राइव, और मैं
C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django
और में एक मिला - आश्चर्य आश्चर्य - इसमें init गलत फ़ाइल संख्या के साथ .py फ़ाइल शामिल है। तो ऐसा लगता है जैसे मैंने व्यवस्थापक विशेषाधिकारों के बिना 1.9 ए 1 स्थापित किया है और ग्रहण हमेशा इस संस्करण का उपयोग करता है क्योंकि यह व्यवस्थापक विशेषाधिकारों के बिना भी शुरू होता है। विंडोज वर्चुअलस्टोर के बारे में कुछ शोध के बाद मैंने पूरे C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5
फ़ोल्डर को मैन्युअल रूप से हटाने का निर्णय लिया।
तुरंत बाद, मेरी cmd-window ने मुझे संस्करण 1.9.4 दिखाया, जो व्यवस्थापक- या गैर-व्यवस्थापक-मोड से स्वतंत्र था। और - सबसे महत्वपूर्ण - जब मैंने ग्रहण में अपना डीजेंगो प्रोजेक्ट चलाया, तो यह भी सही संस्करण संख्या दिखाता है। बस यह सुनिश्चित करने के लिए, मैंने PyDev विज़ार्ड का उपयोग करके एक नई django परियोजना बनाई, और सभी प्रोजेक्ट फ़ाइलों को सही ढंग से बनाया गया था।
तो संक्षेप में, समस्या प्रशासन अधिकारों के बिना django के पिछले इंस्टॉलेशन के कारण थी, इसके बाद व्यवस्थापक अधिकारों के साथ एक django स्थापना। जिम्मेदार तंत्र विंडोज वर्चुअलस्टोर था, ग्रहण या पायडेव नहीं।
मैं अपने ओडिसी के पूरे विवरण को छोड़ दूंगा, शायद यह किसी को विषय ढूंढने में मदद करता है। मैं नीचे एक संक्षिप्त सारांश जवाब देंगे।
pip uninstall django
pip install django==1.9.4
तुम भी जाँच करने के लिए और मैन्युअल django
निर्देशिका और अंडे फ़ाइल को हटा अगर यह होता है की आवश्यकता हो सकती:
दिलचस्प कहानी - साझा करने के लिए धन्यवाद! यदि भविष्य में किसी को भी ऐसी ही समस्या होगी तो मैं जवाब छोड़ दूंगा। – alecxe
यह 3.5.1 के 32-बिट संस्करण में तय किया जाना चाहिए (64-बिट प्रोग्राम कभी प्रभावित नहीं हुए थे)। 3.5 की प्रारंभिक रिलीज ठीक से प्रकट नहीं हुई थी, लेकिन 3.5.1 पीआईपी इंस्टॉलेशन विफल होनी चाहिए यदि आप साइट की पैकेज तक नहीं पहुंच पा रहे हैं, तो चुपचाप उपयोगकर्ता की 'वर्चुअलस्टोर' निर्देशिका पर रीडायरेक्ट होने की बजाय। – eryksun
जानकारी erkyksun के लिए धन्यवाद! मुझे लगता है कि मैंने 3.5.0 का उपयोग करके पुराना इंस्टॉल किया है, और मुझे लगता है कि पायथन के नए संस्करणों के साथ इंस्टॉल विफल रहा है। तो मुझे उम्मीद है कि इस से प्रभावित बहुत से लोग नहीं हैं। और यह जानना अच्छा है कि समस्या ठीक हो गई है। – OBu