ऑटोजेनरेटेड मैनेजमैटिक्स पर सिंटैक्सएरोर को कैसे हल करें?


109

मैं Django ट्यूटोरियल https://docs.djangoproject.com/es/1.10/intro/tutorial01/ का अनुसरण कर रहा हूं

मैंने एक "mysite" डमी प्रोजेक्ट (मेरा पहला पहला) बनाया है और इसे बदलने के बिना परीक्षण करने की कोशिश करता हूं।

django-admin startproject mysite
cd mysite
python manage.py runserver

File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax

मुझे एक फ़ाइल पर एक सिंटैक्सएयर मिल रहा है जो सिस्टम द्वारा स्वयं उत्पन्न किया गया था। और मैं किसी और को खोजने में असमर्थ हूं जो उसी मुद्दे से गुजरा है।

मैं अपने सेटअप का कुछ डेटा जोड़ूंगा, अगर यह उपयोग का हो

$ vpython --version
Python 2.7.12
$ pip --version
pip 9.0.1 from /home/frank/.local/lib/python2.7/site-packages (python 2.7)
$ python -m django --version
1.10.6

कृपया क्या कोई मेरी मदद कर सकता है?

अपडेट: ऑटोजेनरेटेड मैनेजडोम की सामग्री जोड़ना

cat manage.py 
#!/usr/bin/env python3
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

कृपया संपूर्ण फ़ाइल की सामग्री (या कम से कम इससे अधिक) पोस्ट करें जिसमें वाक्य रचना त्रुटि हो।
स्कोवेटा

10
वह फ़ाइल पायथन 3 के साथ उपयोग करने के लिए अभिप्रेत है (ध्यान दें कि यह पहली पंक्ति है!), और 2.7 में काम नहीं करेगा।
जस्सोन्पर

ट्यूटोरियल वेब का कहना है कि, जब कोड का कुछ हिस्सा 2.7 के साथ काम नहीं करेगा, तो वे टिप्पणियों में आवश्यक संशोधनों को जोड़ देंगे। इसमें कोई संशोधन सूचीबद्ध नहीं था, इसलिए मैंने मान लिया कि यह काम करेगा ...
फ्रैंक

जवाबों:


106

सुनिश्चित करें कि आप किस अजगर संस्करण को django के साथ जोड़ते हैं (यदि आप किसी का उपयोग कर रहे हैं तो वर्चुअल एनवी को सक्रिय करना सुनिश्चित करें)।

जब आप बस का उपयोग कर django स्थापित करें

pip install django 

फिर आपको दौड़ना होगा

python manage.py startapp <yourApp name>

और अगर आपने उपयोग किया है:

pip3 install django

फिर आपको दौड़ना होगा

python3 manage.py startapp <yourapp name>

देखें:
यहां छवि विवरण दर्ज करें


11
के साथ एक ही समस्या थी python manage.py migrateऔर इसे बदलने के python3 manage.py migrateलिए त्रुटि को ठीक किया।
लैंडोकैलिसियन

9
मैं अपने वर्चुअल एनवी को सक्रिय करना भूल गया।
बोबोर्ट

47

आप के साथ कोशिश कर सकते हैं python3 manage.py runserver। इससे मेरा काम बनता है।


27

आपको अपने आभासी वातावरण को सक्रिय करना चाहिए। टर्मिनल में -> स्रोत env / bin / activate अब आपके टर्मिनल में ----> (env) प्रदर्शित होगा!

अब यह काम करेगा -> चलाने वाला।

एक्स पार्ट को डिलीट करने की जरूरत नहीं!


13

मैं भी ऐसा ही अनुभव कर रहा था लेकिन इसे नीचे दिए गए विशिष्ट अजगर 3.6 के साथ चलाकर हल किया गया था:

python3.6 manage.py runserver



9

वर्चुअल वातावरण बनाना और इस वर्चुअल वातावरण के अंदर अपना Django कोड चलाना सबसे अच्छा है, यह आपके मौजूदा वातावरण को बदलने में मदद नहीं करता है। यहां वर्चुअल वातावरण और Django के साथ शुरू करने के लिए बुनियादी कदम हैं।

  1. इसमें एक नई निर्देशिका और सीडी बनाएँ।

    mkdir test , cd test

  2. वर्चुअल वातावरण स्थापित करें और बनाएं।

    python3 -m pip install virtualenv virtualenv venv -p python3

  3. आभासी वातावरण सक्रिय करें: source venv/bin/activate

  4. Django स्थापित करें: pip install django

  5. एक नई परियोजना शुरू करें: django-admin startproject myproject

  6. अपनी परियोजना और भागो परियोजना के लिए सीडी:

    cd myproject , python manage.py runserver

  7. आप यहां अपना प्रोजेक्ट देख सकते हैं: http://127.0.0.1:8000/


बहुत बढ़िया! इस "ट्यूटोरियल" से यह स्पष्ट था कि यह कैसे काम करता है। में में स्थित है फ़ोल्डरdjango3activate.\venv\Script
माइकल-MAMMUT

8

सटीक निर्देशों के साथ परीक्षण करने के बाद (केवल "अजगर" के बजाय python2 या python3 का उपयोग करके) मैंने यह मान लिया है कि कोई भी बात नहीं है कि ट्यूटोरियल क्या कहता है, यह केवल python3 के साथ काम करता है।


3

पायथन संस्करण 3 को चलाने के लिए, आपको python3इसके बजाय उपयोग करने की आवश्यकता हैpython

तो, अंतिम आदेश होगा:

python3 manage.py runserver

3

समाधान सीधा है। मैनहट्टन से अपवाद इसलिए है क्योंकि अजगर के साथ कमांड चलाने पर, Django सटीक अजगर संस्करण की भविष्यवाणी करने में असमर्थ है, कहते हैं कि आपके पास 3.6, 3.5, 3.8 हो सकता है और शायद इस संस्करण में से एक पाइप मॉड्यूल का उपयोग Django को हल करने के लिए किया गया था यह या तो उपयोग करें:

./manage.py `enter code here`<command>

या सटीक अजगर संस्करण (xx) का उपयोग करके खड़ा है:

pythonx.x manage.py <command>

वरना वर्चुअल वातावरण का उपयोग काम में आ सकता है क्योंकि इसका कोई भी पाइप django मॉड्यूल आसानी से अजगर संस्करण से संबंधित है

  • penenv या virtualenv के साथ env बनाएँ
  • सक्रिय करें (उदाहरण के लिए virtualenv => virtualenv env)
  • python manage.py कमांड का उपयोग करके चलाएं

2

आपको वर्चुअल वातावरण सक्रिय करना होगा जहाँ आपने django स्थापित किया है। फिर इस कमांड को चलाएं - python manage.py runserver


2

मैंने उसी स्थिति को हल किया।

स्थापित संस्करण

अजगर 3.6, डीजेंगो 2.1

परिस्थिति

मैंने विंडोज 10 में Node.js स्थापित किया python manage.py runserver। त्रुटि के कारण।

त्रुटि

File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax

कारण

मेरा अजगर मार्ग अजगर -६.९ से अजगर -२० path में बदल गया। (3.6 मेरे पीसी में सही है।)

उपाय

अजगर पथ को ठीक करें।


2

मेरे पास ठीक वैसी ही त्रुटि थी, लेकिन फिर मुझे बाद में पता चला कि मैं कॉन्डा पर्यावरण को सक्रिय करना भूल गया हूं जिसमें डेजैंगो और अन्य आवश्यक पैकेज स्थापित थे।

समाधान: django स्थापित के साथ एक कोंडा या आभासी वातावरण बनाएं, और कमांड का उपयोग करने से पहले इसे सक्रिय करें: $ python manage.py migrate


1

Django-admin शायद गलत फ़ाइल है। मैं एक ही समस्या से मिलता था जो मुझे अलग-अलग कंप्यूटर पर समान सेट-अप प्रवाह में नहीं मिली थी।

दो प्रोजेक्ट की तुलना करने के बाद, मैंने manage.py और settings.py में कई अंतर पाए, तब मुझे लगा कि मैंने 2.0 django प्रोजेक्ट बनाया है, लेकिन इसे python2 के साथ चलाएं।

चलाने which django-adminiterm में

/Library/Frameworks/Python.framework/Versions/3.6/bin/django-admin

ऐसा लग रहा है कि मुझे python3 में एक django-admin मिला है, जिसे मैं नहीं जानता था। इसलिए मैंने सही django-amin प्राप्त करने का प्रयास किया।

pip show django

फिर मैं समझ गया

Name: Django
Version: 1.11a1
Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Home-page: https://www.djangoproject.com/
Author: Django Software Foundation
Author-email: foundation@djangoproject.com
License: BSD
Location: /Library/Python/2.7/site-packages
Requires: pytz

में /Library/Python/2.7/site-packages, मुझे django-admin मिला

/Library/Python/2.7/site-packages/django/bin/django-admin.py

इसलिए मैंने फिर से प्रोजेक्ट बनाया

/Library/Python/2.7/site-packages/django/bin/django-admin.py startproject myproject

फिर भागो

cd myproject
python manage.py runserver

succeeded🎉


1

हमें प्रोजेक्ट के अंदर वर्चुअल माहौल बनाना होगा, प्रोजेक्ट के बाहर नहीं .. फिर सुलझेगा ।।


1

ऐसा लगता है कि आपके कंप्यूटर पर अजगर का एक से अधिक संस्करण हैं। कोशिश करें और एक को हटा दें और अपने आवेदन को विकसित करने के लिए एकमात्र संस्करण छोड़ दें।

यदि आवश्यक हो, तो आप अपने संस्करण को अपग्रेड कर सकते हैं, लेकिन सुनिश्चित करें कि आपके पास आपके कंप्यूटर पर केवल पायथन का एक संस्करण है।

आशा है कि ये आपकी मदद करेगा।


1

मैं उसी सटीक अपवाद पर उतरा, क्योंकि मैं आभासी वातावरण को सक्रिय करना भूल गया था।


1

निम्नलिखित संभावित कारण हो सकते हैं,

1. The virtual environment is not enabled
2. The virtual environment is enabled but the python version is different

आभासी वातावरण बनाने के लिए

$ virtualenv --python=python3 venv

आभासी वातावरण को सक्रिय करने के लिए

$ source venv/bin/activate

1

मुझे भी वही त्रुटि हो रही थी। यहां छवि विवरण दर्ज करें

फिर मैं उस फ़ोल्डर में वापस चला गया जहां पर्यावरण फ़ोल्डर है और मैं एक वर्चुअल वातावरण को सक्रिय करना भूल गया, इसलिए केवल मुझे यह त्रुटि मिल रही थी। यहां छवि विवरण दर्ज करें

उस फ़ोल्डर में जाएं और वर्चुअल वातावरण को सक्रिय करें।

$ source env/bin/activate

1

इसके अलावा, ट्यूटोरियल सलाह देता है कि एक आभासी वातावरण का उपयोग किया जाता है (देखें Django प्रलेखन: https://docs.djangoproject.com/en/2.0/topics/install/#installing-official-release ")। आप इसे pipenv --threeएक बार कर सकते हैं।" आपने django को स्थापित किया है pipenv install djangoऔर अपने वर्चुअल वातावरण को सक्रिय किया है pipenv shell, जब निष्पादित करने के लिए अजगर python3 को संदर्भित करेगाpython manage.py runserver

Pipenv प्रलेखन: https://pipenv.kennethreitz.org/


0

मैं क्या सोच रहा हूँ हालांकि django कंटेनर में स्थापित है यह होस्ट मशीन में नहीं हो सकता है जहां आप कमांड चला रहे हैं। फिर आज्ञा कैसे चलेगी। इसलिए चूंकि ऊपर के किसी भी समाधान ने मेरे लिए काम नहीं किया।

मुझे रनिंग कंटेनर का पता docker exec -it <container> bash चला और डॉकटर कंटेनर के अंदर कमांड चलाने के बाद रनिंग कंटेनर में मिला। जैसा कि हमारे पास सीमित कंटेनर है, किए गए परिवर्तन स्थानीय स्तर पर भी दिखाई देंगे। जो भी कमांड चलाना है उसे रनिंग कंटेनर के अंदर चलाया जा सकता है


0

भविष्य के पाठकों के लिए, मेरा भी यही मुद्दा था। वेबसाइट से सीधे पायथन को स्थापित करने की बारी है और साथ ही एनाकोंडा का एक और संस्करण होने से यह समस्या उत्पन्न हुई। मुझे Python2.7 को अनइंस्टॉल करना पड़ा और केवल एनाकोंडा को एकमात्र वितरण के रूप में रखना पड़ा।


0

क्या आपने django के लिए आभासी वातावरण में प्रवेश किया है? python -m venv myvenvयदि आपने अभी तक स्थापित नहीं किया है तो चलाएं ।



0

मेरे पास एक ही समस्या थी और इसे हल कर सकता था। यह आपके द्वारा इंस्टॉल किए गए Django के संस्करण से संबंधित है, उनमें से कुछ अजगर 2.7 द्वारा समर्थित नहीं हैं। यदि आपने पाइप के साथ Django स्थापित किया है, तो इसका मतलब है कि आप उस के नवीनतम संस्करण को स्थापित कर रहे हैं जो संभवतः अजगर 2.7 में समर्थित नहीं है, आप इसके बारे में अधिक जानकारी यहां प्राप्त कर सकते हैं । मैं अजगर 3 स्थापित करने के दौरान या Django के संस्करण को निर्दिष्ट करने का सुझाव दूंगा (जो अजगर 2.7 के लिए 1.11)।


0

मैंने पायथन के कई संस्करण की स्थापना रद्द करने के लिए इस समस्या को हल किया। अजगर अनुकूलता के लिए Django आधिकारिक दस्तावेज की जाँच करें ।

" अजगर अनुकूलता

Django 2.1 पायथन 3.5, 3.6 और 3.7 का समर्थन करता है। Django 2.0 पायथन 3.4 का समर्थन करने के लिए अंतिम संस्करण है। ”

फ़ाइल को प्रबंधित करें

#!/usr/bin/env python
import os
import sys

if __name__ == '__main__':
   os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'work.settings')
   try:
       from django.core.management import execute_from_command_line
   except ImportError as exc:
      raise ImportError(
        "Couldn't import Django. Are you sure it's installed and "
        "available on your PYTHONPATH environment variable? Did you "
        "forget to activate a virtual environment?"
      ) from exc
    execute_from_command_line(sys.argv)

यदि इस कोड की दूसरी अंतिम पंक्ति से "औसत से" हटा दिया जाता है, तो पायथन के कई संस्करणों के कारण एक और त्रुटि उत्पन्न होगी।


0

निम्नलिखित कमांड द्वारा सक्रिय करें

  source  pathetoYourEnv/bin/activate

फिर कमांड चलाएं

python manage.py runserver

0

आपको अपना वर्चुअल वातावरण शुरू करना चाहिए ,

इसे कैसे करना है?

पहले प्रबंध निर्देशिका में टर्मिनल सीडी के साथ

फिर टाइप करें $source <myvenv>/bin/activate कोणीय कोष्ठक के बिना, आपके साथ वर्चुअल पर्यावरण नाम ।

एक और मुद्दा यह हो सकता है कि आपकी रूट डायरेक्टरी और वेनव मिस-मैच हो। संरचना कुछ इस तरह होनी चाहिए:

|-website
     ..facebook
     ..manage.py
     ..myvenv
     ..some other files

यह आपका वर्चुअल वातावरण है और इसे एक ही फ़ोल्डर में प्रबंधित करना चाहिए। इसका समाधान परियोजना को पुनः आरंभ करना है। यदि आप इस त्रुटि का सामना कर रहे हैं तो आपको अभी तक कुछ भी कोडित नहीं करना चाहिए, इसलिए पुनः आरंभ करें।


0

अपनी समस्या का समाधान तब भी किया जब मैंने अपने आभासी वातावरण का उपयोग करके सक्रिय किया:

source bin/activate

0

मेरे पास यह मुद्दा (मैक) था और आभासी पर्यावरण को स्थापित करने और सक्रिय करने के लिए नीचे दिए गए पृष्ठ पर दिए गए निर्देशों का पालन किया

https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/

$ cd [शीर्ष-स्तर- django-project-dir]

$ python3 -m pip install --user virtualenv

$ python3 -m venv env

$ स्रोत एनवी / बिन / सक्रिय

एक बार जब मैंने वर्चुअल एनवी को स्थापित और सक्रिय कर लिया था तो मैंने इसे चेक किया था

$ जो अजगर

फिर मैंने django को वर्चुअल एनवी में स्थापित किया

$ पाइप स्थापित django

और फिर मैं अपना ऐप चला सकता था

$ python3 manage.py runserver

जब मैं ट्यूटोरियल के अगले भाग के लिए मिला

$ python manage.py starts polls

मुझे एक और त्रुटि का सामना करना पड़ा:

     File "manage.py", line 16

   ) from exc
            ^

   SyntaxError: invalid syntax

मैने हटा दिया

from exc

और फिर इसने चुनाव निर्देशिका बनाई

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.