Saya mengikuti tutorial Django https://docs.djangoproject.com/es/1.10/intro/tutorial01/
Saya telah membuat proyek tiruan "mysite" (proyek pertama saya) dan mencoba mengujinya tanpa mengubahnya.
django-admin startproject mysite
cd mysite
python manage.py runserver
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
Saya mendapatkan SyntaxError pada file yang dibuat oleh sistem itu sendiri. Dan saya tampaknya tidak dapat menemukan orang lain yang telah mengalami masalah yang sama.
Saya akan menambahkan beberapa data pengaturan saya jika mungkin berguna
$ 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
Adakah yang bisa membantu saya?
Pembaruan: menambahkan konten dari autogenerated manage.py
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)
python
syntax-error
jujur
sumber
sumber
Jawaban:
Pastikan versi python mana yang Anda hubungkan dengan django (Pastikan untuk mengaktifkan env virtual jika Anda menggunakannya).
Ketika Anda menginstal django menggunakan just
maka kamu harus lari
lain jika Anda telah menggunakan:
maka kamu harus lari
Lihat:
sumber
python manage.py migrate
dan mengubahnya untukpython3 manage.py migrate
memperbaiki kesalahan.Anda bisa mencoba dengan
python3 manage.py runserver
. Ini bekerja untuk saya.sumber
Anda harus mengaktifkan lingkungan virtual Anda. Di terminal -> sumber env / bin / aktifkan sekarang akan ada ----> (env) di terminal Anda ditampilkan!
sekarang akan bekerja -> runserver.
Tidak perlu menghapus bagian exc!
sumber
Saya mengalami hal yang sama tetapi ini diselesaikan dengan menjalankan dengan python 3.6 tertentu seperti di bawah ini:
sumber
Ini adalah solusi sederhana sebenarnya yang baru saja saya temui. Apakah Anda mengaktifkan lingkungan virtual Anda?
tangkapan layar terminal saya
sumber
Cukup aktifkan lingkungan virtual Anda.
sumber
Yang terbaik adalah membuat lingkungan virtual dan menjalankan kode Django Anda di dalam lingkungan virtual ini, ini membantu dalam tidak mengubah lingkungan yang ada. Berikut adalah langkah-langkah dasar untuk memulai dengan lingkungan virtual dan Django.
Buat Direktori baru dan cd ke dalamnya.
mkdir test
,cd test
Instal dan Buat lingkungan Virtual.
python3 -m pip install virtualenv virtualenv venv -p python3
Aktifkan Lingkungan Virtual:
source venv/bin/activate
Pasang Django:
pip install django
Mulai proyek baru:
django-admin startproject myproject
cd ke proyek Anda dan Jalankan Proyek:
cd myproject
,python manage.py runserver
Anda dapat melihat proyek Anda di sini:
http://127.0.0.1:8000/
sumber
django3
dalamactivate
terletak di.\venv\Script
folderSetelah menguji dengan instruksi yang tepat (menggunakan python2 atau python3 bukan hanya "python") saya telah menetapkan bahwa apa pun yang dikatakan tutorial, ini HANYA berfungsi dengan python3.
sumber
Untuk menjalankan Python versi 3, Anda perlu menggunakan
python3
bukanpython
.Jadi, perintah terakhirnya adalah:
sumber
Solusinya sangat mudah. pengecualian dari manage.py adalah karena ketika menjalankan perintah dengan python, Django tidak dapat memprediksi versi python yang tepat, katakanlah Anda mungkin mempunyai 3.6, 3.5, 3.8 dan mungkin hanya satu dari versi ini modul pip digunakan untuk menginstal Django untuk menyelesaikan ini juga menggunakan:
atau menggunakan versi persis python (xx):
lain penggunaan lingkungan virtual bisa berguna karena ini menghubungkan modul pip django dengan mudah ke versi python
sumber
Anda harus mengaktifkan lingkungan virtual tempat Anda menginstal django. Kemudian jalankan perintah ini - python manage.py runserver
sumber
Saya memecahkan situasi yang sama.
VERSI TERPASANG
python 3.6, django 2.1
SITUASI
Saya menginstal Node.js di Windows 10. Setelah
python manage.py runserver
menyebabkan kesalahan.KESALAHAN
ALASAN
Path python saya berubah menjadi python-2.7 dari python-3.6. (3.6 benar di PC saya.)
LARUTAN
Perbaiki jalur python.
sumber
Saya mengalami kesalahan yang persis sama, tetapi kemudian saya menemukan bahwa saya lupa mengaktifkan lingkungan conda yang telah menginstal django dan paket lain yang diperlukan.
Solusi: Buat conda atau lingkungan virtual dengan django terinstal, dan aktifkan sebelum Anda menggunakan perintah:
$ python manage.py migrate
sumber
Django-admin mungkin file yang salah. Saya menemui masalah yang sama yang tidak saya temukan di komputer lain dengan alur pengaturan yang sama.
Setelah membandingkan dua proyek, saya menemukan beberapa perbedaan di manage.py dan settings.py, kemudian saya menyadari saya membuat proyek 2.0 django tetapi menjalankannya dengan python2.
berjalan
which django-admin
di itermSepertinya saya mendapatkan django-admin di python3 yang saya tidak tahu kenapa. Jadi saya mencoba mendapatkan django-amin yang benar.
lalu saya dapatkan
Di
/Library/Python/2.7/site-packages
, saya menemukan django-adminJadi saya membuat proyek lagi oleh
lalu lari
berhasil🎉
sumber
Kita harus membuat lingkungan virtual di dalam proyek, bukan di luar proyek .. Kemudian akan diselesaikan ..
sumber
Sepertinya Anda memiliki lebih dari satu versi Python di komputer Anda. Coba dan hapus satu dan tinggalkan satu-satunya versi yang Anda gunakan untuk mengembangkan aplikasi Anda.
Jika perlu, Anda dapat meningkatkan versi Anda, tetapi pastikan Anda hanya memiliki satu versi Python di komputer Anda.
Saya harap ini membantu.
sumber
Saya mendarat di pengecualian yang persis sama karena saya lupa mengaktifkan lingkungan virtual.
sumber
Berikut ini kemungkinan alasannya,
Untuk membuat lingkungan virtual
Untuk mengaktifkan lingkungan virtual
sumber
Saya juga mendapatkan kesalahan yang sama.
Kemudian saya kembali ke folder tempat folder lingkungan berada di sana dan saya lupa mengaktifkan lingkungan Virtual jadi hanya saya yang mendapatkan kesalahan ini.
Buka folder itu dan aktifkan lingkungan virtual.
sumber
Juga, tutorial merekomendasikan bahwa lingkungan virtual digunakan (lihat dokumentasi Django: https://docs.djangoproject.com/en/2.0/topics/install/#installing-official-release "). Anda dapat melakukan ini dengan
pipenv --three
. Once Anda telah menginstal django denganpipenv install django
dan mengaktifkan lingkungan virtual Anda denganpipenv shell
, python akan merujuk ke python3 saat menjalankanpython manage.py runserver
.Dokumentasi Pipenv: https://pipenv.kennethreitz.org/
sumber
Apa yang saya ingin tahu adalah meskipun django telah diinstal ke penampung itu mungkin tidak ada di mesin host tempat anda menjalankan perintah. Lalu bagaimana perintah tersebut akan dijalankan. Jadi karena tidak ada solusi di atas yang berhasil untuk saya.
Saya menemukan wadah yang sedang berjalan dan masuk ke dalam wadah yang sedang berjalan menggunakan
docker exec -it <container> bash
kemudian menjalankan perintah di dalam wadah buruh pelabuhan. Karena kami memiliki penampung volume, perubahan yang dilakukan juga akan tercermin secara lokal. Perintah apa pun yang harus dijalankan dapat dijalankan di dalam container yang sedang berjalansumber
Untuk pembaca selanjutnya, saya juga memiliki masalah yang sama. Ternyata menginstal Python langsung dari situs web serta memiliki versi lain dari Anaconda menyebabkan masalah ini. Saya harus menghapus Python2.7 dan hanya menyimpan anaconda sebagai satu-satunya distribusi.
sumber
Sudahkah Anda memasuki lingkungan virtual untuk django? Jalankan
python -m venv myvenv
jika Anda belum menginstal.sumber
Kerjakan saja:
pipenv shell
lalu ulangi:
python manage.py runserver
dan jangan hapus
from exc
seperti yang disarankan di atas.Bersulang!
sumber
Saya memiliki masalah yang sama dan bisa menyelesaikannya. Ini terkait dengan versi Django yang telah Anda instal, beberapa di antaranya tidak didukung oleh python 2.7. Jika Anda telah memasang Django dengan pip, itu berarti Anda sedang memasang versi terbaru yang mungkin tidak didukung dalam python 2.7, Anda bisa mendapatkan informasi lebih lanjut tentangnya di sini . Saya akan menyarankan untuk python 3 atau menentukan versi Django selama pemasangan (yaitu 1.11 untuk python 2.7).
sumber
Saya memecahkan masalah ini untuk menghapus beberapa versi Python. Periksa Dokumentasi Resmi Django untuk kompatibilitas Python.
" Kompatibilitas Python
Django 2.1 mendukung Python 3.5, 3.6, dan 3.7. Django 2.0 adalah versi terakhir yang mendukung Python 3.4. "
manage.py file
Jika menghapus "dari exc" dari baris kedua terakhir kode ini akan menghasilkan kesalahan lain karena beberapa versi Python.
sumber
aktifkan env dengan Perintah Mengikuti
lalu jalankan perintah
sumber
Anda harus memulai Lingkungan Virtual Anda ,
Bagaimana cara melakukannya?
pertama dengan cd terminal ke direktori yang berisi manage.py
lalu ketik
$source <myvenv>/bin/activate
ganti dengan nama Lingkungan Virtual Anda, tanpa tanda kurung siku.Masalah lainnya adalah direktori root dan venv Anda tidak cocok. Strukturnya harus seperti ini:
Itu adalah lingkungan virtual Anda dan manage.py harus berada di folder yang sama. Solusi untuk itu adalah memulai kembali proyek. Jika Anda menghadapi kesalahan ini, Anda pasti belum mengkodekan apa pun, jadi mulai ulang.
sumber
Memecahkan masalah saya juga ketika saya mengaktifkan lingkungan virtual saya menggunakan:
sumber
Saya mengalami masalah ini (Mac) dan mengikuti instruksi pada halaman di bawah ini untuk menginstal dan mengaktifkan lingkungan virtual
https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
Setelah saya menginstal dan mengaktifkan env virtual, saya memeriksanya
Kemudian saya menginstal django ke dalam virtual env
Dan kemudian saya bisa menjalankan aplikasi saya
Ketika saya sampai di bagian selanjutnya dari tutorial
Saya mengalami kesalahan lain:
Saya dihapus
dan kemudian membuat direktori polls
sumber