2016-03-10 5 views
8

मैं यहाँ एक अजीब व्यवहार हो रही है: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 निर्देशिका और अंडे फ़ाइल को हटा अगर यह होता है की आवश्यकता हो सकती:

उत्तर

4

लम्बी कहानी ऊपर वर्णित है, लघु जवाब है:

मैं अपने C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django फ़ोल्डर में Django के एक अतिरिक्त स्थापना की थी। यह व्यवस्थापक अधिकारों के बिना 1.9 ए 1 संस्करण स्थापित करने के कारण था।

चूंकि ग्रहण प्रशासन अधिकारों के बिना डीजेंगो तक पहुंच रहा था, इसलिए यह पुराने संस्करण का उपयोग करता था, न कि हालिया संस्करण जिसे व्यवस्थापक रगथ के साथ यूएसआईडीपी स्थापित किया गया था।

मैंने C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5 फ़ोल्डर हटा दिया और ग्रहण के पुनरारंभ के बाद सब कुछ काम किया।

+0

दिलचस्प कहानी - साझा करने के लिए धन्यवाद! यदि भविष्य में किसी को भी ऐसी ही समस्या होगी तो मैं जवाब छोड़ दूंगा। – alecxe

+0

यह 3.5.1 के 32-बिट संस्करण में तय किया जाना चाहिए (64-बिट प्रोग्राम कभी प्रभावित नहीं हुए थे)। 3.5 की प्रारंभिक रिलीज ठीक से प्रकट नहीं हुई थी, लेकिन 3.5.1 पीआईपी इंस्टॉलेशन विफल होनी चाहिए यदि आप साइट की पैकेज तक नहीं पहुंच पा रहे हैं, तो चुपचाप उपयोगकर्ता की 'वर्चुअलस्टोर' निर्देशिका पर रीडायरेक्ट होने की बजाय। – eryksun

+0

जानकारी erkyksun के लिए धन्यवाद! मुझे लगता है कि मैंने 3.5.0 का उपयोग करके पुराना इंस्टॉल किया है, और मुझे लगता है कि पायथन के नए संस्करणों के साथ इंस्टॉल विफल रहा है। तो मुझे उम्मीद है कि इस से प्रभावित बहुत से लोग नहीं हैं। और यह जानना अच्छा है कि समस्या ठीक हो गई है। – OBu

1

याद क्या मैं मेरे एक ऐसी ही स्थिति में मदद की पूरी तरह से Django स्थापना रद्द करने और इसे फिर से स्थापित करने था pip के माध्यम से django को अनइंस्टॉल करने के बाद C:\Program Files (x86)\Python 3.5\lib\site-packages निर्देशिका में छोड़ दिया गया।

+0

मैंने पहले ऐसा किया था, लेकिन "== 1.9.4" के बिना - आपके संस्करण के साथ, मुझे कमांड लाइन पर सही संस्करण संख्या मिलती है, लेकिन मेरी प्रोजेक्ट अब शुरू नहीं हो रही है: थ्रेड में अनचाहे अपवाद < फ़ंक्शन चेक_रर्स। । 0x03F72108 पर 0 रैपर> ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "सी: \ प्रोग्राम फ़ाइलें (x86) \ पायथन 3.5 \ lib \ site-packages \ django \ apps \ config.py", लाइन 118, बनाने में cls = getattr (mod, cls_name) विशेषताएँ त्रुटि: मॉड्यूल 'django.contrib' में कोई विशेषता नहीं है 'admin' जब मैं फ़ाइल सिस्टम की जांच करता हूं, तो contrib में सभी आवश्यक फ़ाइलों के साथ व्यवस्थापक फ़ोल्डर होता है। – OBu

+0

@ ओबीयू कोशिश करने के लिए धन्यवाद। क्या आप सुनिश्चित हैं कि आपके मामले में 'पीआईपी' निष्पादन योग्य पाइथन 3.5 पर्यावरण में स्थापित 'पाइप' को संदर्भित करता है? – alecxe

+0

'जहां पीपी' मुझे सी: \ प्रोग्राम फ़ाइलें (x86) \ पायथन 3.5 \ स्क्रिप्ट \ pip.exe देता है - जो मेरी पायथन 3 स्थापना है। और मेरे पास केवल एक पायथन स्थापना है (कोई वर्चुअल नहीं, कोई पायथन 2, ...)। बीटीडब्ल्यू: मैंने आपकी मदद और सुझावों के लिए फिर से धन्यवाद – OBu

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