python - شرح - django wiki




لا وحدة نمطية مسمى django.core (17)

أدركت ذلك لأنني لم python setup.py install . هذا الإعداد البيئة.

لقد قمت بتحديث لأحدث Django الإصدار 1.0.2 بعد إلغاء تثبيت بلدي نسخة Django القديمة.ولكن الآن عند تشغيل django-admin.py أحصل على الخطأ التالي. كيف يمكنني حل هذا؟

Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\django\bin\django-admin.py", line 2, in <module>
    from django.core import management
ImportError: No module named django.core

أعلم أن هذا سؤال قديم ، لكنني واجهت نفس المشكلة ، في حالتي ، لأنني أستخدم virtualenv مع django ، لكن ملحقات الملفات .py في Windows ترتبط بتثبيت Python الرئيسي ، لذا قم بتشغيل django-admin.py مباشرة من موجه الأوامر يتسبب في تشغيله مع تثبيت Python الرئيسي دون تثبيت django.

لذلك ، بما أنني لا أعلم ما إذا كان هناك أي جنيه مكافئ في Windows ، فقد عملت حول هذا عن طريق تشغيل python متبوعًا بالمسار الكامل لـ django-admin.py ، أو يمكنك أيضًا تعديل البرنامج النصي لدفعة virtualenv لتغيير اقترانات الملفات وتغييره مرة أخرى عند إلغاء تنشيطه (على الرغم من أنني لست متأكدًا من كيفية القيام بذلك ، لأنني لست معتادًا على البرنامج النصي الدفعي).

أتمنى أن يساعدك هذا،


أنا متأكد من أنه مرتبط بشيء غير صحيح في الإعداد ، ولكن أواجه نفس المشكلة ، ويعمل بشكل صحيح إذا أسميته على هذا النحو

c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite

إذا كانت متغيرات المسار الخاصة بك صحيحة ومن shell python ، فيمكنك القيام بذلك: من إدارة الاستيراد django.core ، تأكد من تضمين "python" قبل "django-admin.py" كما يلي: python django-admin.py startebject thelittlethings


إصلاح سريع صغير هو فقط لإنشاء symlink ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django


إلى ما قاله ... إذا كنت تستخدم نظام التشغيل Windows ، فلا تقم بتشغيل "django-admin.py" ...

أنا أعمل داخل بيئة افتراضية ، لذلك يبدو المسار والأمر لإنشاء مشروع جديد:

(DjangoEnv)  C:\users\timreilly\Envs\django\Scripts\django-admin.exe startproject myproject

DjangoEnv هو اسم بيئتي الافتراضية.


بعد قراءة الكثير وجدت حلًا يناسبني.

عندي

 django version 1.9.2
  1. تعيين كل متغير النظام في "المسار". لا نسخة مكررة في متغير المستخدم ولا في PYTHONPATH.

  2. ثم قم بتعيين القيمة في regedit

  1. جعل virtualenv في المجلد المطلوب عن طريق القيادة

    virtualenv VENV

  2. وأخيرا في كمد

القيادة المستخدمة

django-admin.py startproject MySite

***and not this***

python django-admin.py startproject MySite 

في المجلد الجذر من "VENV"

وعملت


حدث هذا لي لأنني ركض pip كما sudo بينما بلدي virtualenv هو الإعداد لعدم استيراد حزم الموقع الخارجي لذلك تم تثبيت Django للمستخدم الجذر ولكن ليس في virtualenv ، على الرغم من أن لدي تفعيل virtualenv عندما ركضت sudo.

الحل التبديل إلى الجذر ، وتفعيل venv ثم قم بتثبيت نقطة.


شكرا لنشر السؤال والأجوبة. لديّ إصداران من Python مثبتان ، ولكن الجذر كان يشير إلى إصدار / usr / bin ، وكنت أرغب في استخدام الإصدار 2.7 من Python في / usr / local / bin. بعد إعادة بناء / إعادة تثبيت Django و mysqldb ، كل شيء على ما يرام وأنا لا تحصل على الخطأ.


في حالتي ، أنا على OS X Lion وقمت بتركيب Python مع homebrew كنت أتلقى نفس الخطأ ، لكن أياً من الحلول المنشورة هنا ساعدني. في حالتي ، اضطررت لتحرير البرنامج النصي:

vim /usr/local/share/python/django-admin.py

ولاحظت أن الخط الأول كان خاطئًا ، حيث كان يشير إلى تركيب نظام بايثون:

#!/usr/bin/python

لقد عدّلته للتو للإشارة إلى تثبيت

#!/usr/local/bin/python

وانها عملت :)


كان لدي نفس المشكلة ، كان من الواضح أن كان PYTHONPATH مشكلة تكوين PYTHONPATH . الحل بسيط للغاية ، فقط قم بإنشاء ملف بهذا الاسم django.pth في دليل PYTHONHOME\Lib\site-packages حيث PYTHONHOME هو الدليل الذي تم تثبيت Python عليه (mine: C: \ Python27). أضف السطر التالي إلى الملف django.pth :

PYTHONHOME\Lib\site-packages\django

بالطبع يجب عليك تغيير PYTHONHOME إلى دليل تثبيت Python الخاص بك كما شرحت.

لاحظ أنه يمكنك تحرير django.pth لتضمين أي دليل تريد تضمينه في PYTHONPATH . في الواقع ، يمكنك تسمية هذا الملف كما تريد ، path.pth على سبيل المثال إذا كنت تريد أن يكون أكثر عمومية وتضمين العديد من مسارات الدليل.


كان لي نفس المشكلة ، وذكّرت بأنني ركبت iPython بعد ظهر اليوم السابق. لقد قمت بإلغاء تثبيت iPython وذهبت المشكلة. بالمناسبة ، أنا أعمل مع virtualenv. لقد قمت بتركيب iPython في دليل حزم المواقع على مستوى النظام ، لذا قمت بإعادة تثبيت iPython داخل كل virtualenv الذي أستخدمه. بعد تثبيت iPython بالأمس كنت قد لاحظت رسالة تحذير (من الإصدار 0.13 من iPython) أنها اكتشفت أنني كنت تستخدم virtualenv وأنه إذا واجهت أي مشكلة يجب أن أقوم بتثبيت iPyton داخل كل virtualenv.


كانت مشكلة بييونتباث متغير البيئة بالنسبة لي ، كما ذكر آخرون أعلاه ، ولكن أحدا قد أظهر حقا كيفية تعيينه للأشخاص الذين يمكن استخدام التعليمات الإضافية.

لينكس (باش)

أقوم بتعيين هذا المتغير في ملفي bashrc في مجلد منزلي (.bashrc هو الملف الخاص بي لأن shell الخاص بي هو / bin / bash).

vim ~/.bashrc
export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH
source ~/.bashrc

يجب أن يكون المسار أينما كان مصدر django الخاص بك. يقع المنجم في /usr/local/python-2.7.2/lib/python2.7/site-packages/django ، لذلك حددت فقط /usr/local/python-2.7.2/lib/python2.7/site- الحزم دون جزء جانجو.

OSX

على OSX المسار هو / /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages ، ويمكنك إضافته إلى /etc/profile :

sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile
source /etc/profile

لدي نفس المشكلة على ويندوز ويبدو أنني وجدت المشكلة. لدي كل من 2.7 و 3.x المثبتة. يبدو أن لها علاقة ببرنامج الزميلة .py:

في نوع سطر الأوامر:

ass

والنتيجة هي:

.py = Python.File

مما يعني أن .py مرتبط بـ Python.File

ثم حاولت هذا:

ftype Python.File

أنا أخذت:

Python.File = "C: \ Python32 \ python.exe" "٪ 1"٪ *

الذي يعني في commandline .py مرتبط بتركيبي Python 3.2 - ولهذا السبب لا يمكنني فقط كتابة "django-admin.py blah blah" لاستخدام django.

كل ما عليك القيام به هو تغيير الرابط:

ftype Python.File = "C: \ Python27 \ python.exe" "٪ 1"٪ *

ثم كل شيء على ما يرام!


هذا العمل بالنسبة لي مع bitnami djangostack:

python apps\django\django\bin\django-admin.py startproject mysite

هذا العمل على نظام التشغيل Mac OS X

في محطة تشغيل بيثون في بيثون: استيراد sys طباعة sys.path

ابحث عن مسار حزم المواقع. لقد وجدت هذا في إخراج sys.path: "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages"

خروج الثعبان. ابحث عن مكان حزم موقعك الحالية. الأعمال المتعلقة بالألغام في / مكتبة / بيثون / 26/6-الموقع

الآن كن حذرًا: تحقق من محتوى حزم الموقع للتأكد من أنها فارغة. أي ، يجب أن تكون الدليل / Library /Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- حزم فارغة ، أو تحتوي فقط على ملف readme. إذا كان كذلك ، فاحذف هذا الدليل ، لأنك الآن بصدد إنشاء رابط رمزي.

ln -s /Library/Python/2.6/site-packages /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

إذا لم تقم بحذف المجلد ، فستضع الارتباط الرمزي في المجلد.

الخيارات الأخرى هي إضافة المسار إلى sys.path. لقد اخترت مسار الارتباط الرمزي لأن لديّ نسختين من python ، لا أريد نسخًا متعددة من Django ، وأردت فقط الإشارة إلى نسخة العمل المعروفة.


يمكنك التغلب على هذه المشكلة من خلال توفير المسار الكامل لملف django-admin.py

python c:\python25\scripts\django-admin.py startproject mysite






django