Oke, saya melihat banyak kesalahan ini. Saya sudah mencoba semua yang saya tahu harus dilakukan dan belum memikirkannya.
Saya bekerja pada server pengembangan yang menjalankan python 2.5 dan Django 1.3. Django 1.3 diinstal menggunakan instal python setup.py setelah membongkar unduhan tar.gz.
Semua berfungsi dengan baik, saya jarang memiliki kebutuhan untuk menjalankan manage.py
tetapi saya mencoba menggunakan aplikasi staticfiles baru dan saya mengalami masalah.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named core.management
Ok, jadi saya punya PATH
masalah.
Dari Django install, saya periksa site-packages
direktori saya .
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
Ok, mari kita periksa apa yang saya miliki, gema $ PYTHON_PATH kosong, jadi saya atur
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Masih belum berhasil. Mari kita periksa apa yang dikatakan sys.path
>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']
jalan ada di sana, saya bahkan membuat /usr/lib/python2.5/site-packages/django.pth dengan konten
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
Adakah yang punya petunjuk tentang apa yang terjadi di sini?
Saya menemukan symlink lebih lanjut di jalan yang menghalangi, tetapi tidak ada kesalahan baru.
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
version=get_version(),
File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
from django.utils.version import get_svn_revision
ImportError: No module named utils.version
Saya juga mencoba membuat proyek baru untuk melihat apakah ada masalah di sana dan mendapatkan kesalahan utils.version yang sama.
Side node: Unode from #django membantu saya sedikit, mengatur virtualenv pada mesin yang sama dan berhasil melewati kesalahan jadi masih tidak yakin apa yang terjadi dengan instalasi aktual ini di sini, tetapi tampaknya tidak berada dalam proyek Django tetapi dalam Django / python instal.
sumber
import django
shell python?python manage.py syncdb
?Jawaban:
Jika, seperti saya, Anda menjalankan Django Anda di virtualenv, dan mendapatkan kesalahan ini, lihat
manage.py
. Baris pertama harus mendefinisikan python executable yang digunakan untuk menjalankan skrip. Ini seharusnya menjadi path ke python virtualenv Anda, tetapi ini adalah sesuatu yang salah seperti / usr / bin / python, yang bukan path yang sama dan akan menggunakan lingkungan python global (dan paket akan hilang). Cukup ubah jalur menjadi jalur ke python yang dapat dieksekusi di virtualenv Anda.Anda juga dapat mengganti garis shebang Anda dengan
#!/usr/bin/env python
. Ini harus menggunakan lingkungan python yang tepat dan juru bahasa asalkan Anda mengaktifkan virtualenv Anda terlebih dahulu (saya berasumsi Anda tahu bagaimana melakukan ini).sumber
<path-to-my-env>/bin/python manage.py runserver
#!/Users/Chris/virtualenv/my_first_venv/bin/python
atau sesuatu di sepanjang ini?Jika Anda berada dalam virtualenv, Anda harus mengaktifkannya sebelum Anda dapat menjalankan ./manage.py 'command'
jika Anda mengkonfigurasi workon di .bash_profile atau .bashrc
* tolong jangan edit file manage.py Anda mungkin berfungsi dengan cara yang tidak benar dan bisa memberi Anda kesalahan di masa depan
sumber
Saya memiliki masalah yang sama karena saya menginstal Django sebagai pengguna super, jadi tidak di virtualenv saya. Anda seharusnya tidak melakukannya
sudo pip install Django
Sebaliknya, instal dengan cara ini:
sumber
Silakan instal ulang Django dengan pip:
(Ganti 1.3 ke versi django Anda)
sumber
sudo
untuk menginstal ke direktori sistem akan mengganggu paket-paket asli dan kemungkinan besar rusak setidaknya beberapa bagian dari instalasi python Anda. Saya akan merekomendasikan virtualenv.Sebagaimana diketahui ini adalah masalah jalur.
pangkalan paket khusus saya membagikan nama dengan direktori yang diset di / etc / profile. Paket-paket berada di lokasi yang berbeda namun untuk server web. Jadi saya menghapus entri yang menyinggung dari $ PYTHONPATH saya dan bagus untuk digunakan!
Terima kasih untuk bantuannya.
sumber
Alasan lain yang mungkin untuk masalah ini adalah bahwa OS Anda menjalankan python3 secara default.
Anda harus melakukannya secara eksplisit:
python2 manage.py
atau Anda perlu mengedit shebang
manage.py
, seperti:atau jika Anda menggunakan python3:
sumber
#!/usr/bin/env python2.7
Saya memiliki kesalahan ini ketika mencoba untuk menjalankan sistem embedded (menggunakan Django tentu saja) pada Raspberry Pi 2 (dan tidak a VM )
Menjalankan ini:
Membuat trik!
sumber
Anda mungkin menggunakan virtualenvwrapper . Jangan lupa untuk memilih lingkungan Anda dengan menjalankan:
sumber
Bagi saya, server saya menggunakan Python 2.4. Saya hanya mencari Python 2.7, yang diinstal pada server saya, dan membuat alias.
Jika Anda perlu tahu lebih banyak, saya menemukan solusinya di sini
sumber
Saya mendapatkan masalah yang sama ketika saya mencoba membuat aplikasi baru. Jika Anda menulis
python manage.py startapp myapp
, maka itu akan mencari usr / bin / python. Tetapi Anda memerlukan " python " yang terletak di direktori / bin dari jalur env virtual Anda . Saya memecahkan ini dengan menyebutkan jalur python virtualenv seperti ini:sumber
Coba ubah baris pertama manage.py Anda.
Perubahan
oleh
sumber
#!/usr/bin/env python
oleh#!/usr/bin/python
Periksa versi Python
sumber
Selesaikan !!!
Setelah mencari lama dan mencoba semua saran lain yang tidak berhasil, saya akhirnya menemukan solusi untuk pengaturan saya.
Pengaturan / skenario saya:
Larutan
Hapus folder bernama django di direktori yang sama dengan manage.py
Itu benar ... segera setelah saya menghapus folder "Django" yang hanya berisi file __init__.py ... Saya bisa menjalankan server lagi!
Tidak tahu mengapa
sumber
Bagi Anda yang menggunakan Django 1.6 atau yang lebih baru, perhatikan bahwa execute_manager telah dihapus . Ada solusi yang diposting dalam jawaban SO kedua di sini .
sumber
Simpan path python python dalam sebuah variabel dan jalankan. Ini akan termasuk paket-paket yang hilang.
sumber
Saya punya masalah serupa. PyCharm tidak bisa menjalankan server tetapi saya bisa menjalankannya dari baris perintah. Saya mencoba python mana dan kemudian memastikan bahwa PyCharm adalah penerjemah yang sama dan kemudian semuanya bekerja dengan baik.
sumber
Kesalahan ini biasanya terjadi ketika Django tidak diinstal. Jika Anda sudah menginstal Django tetapi masih mendapatkan kesalahan yang sama, maka Anda harus bekerja di lingkungan virtual yang terpisah. Anda perlu menginstal Django di lingkungan virtual Anda juga. Ketika Anda berada di shell mesin virtual cukup lakukan ini:
pip instal Django
Itu karena mesin virtual memiliki sistem file yang terpisah, itu tidak mengenali Django bahkan jika itu diinstal pada sistem Anda.
sumber
Saya memperbaiki masalah ini dengan mengubah #PATH = "$ VIRTUAL_ENV / bin: $ PATH" ke PATH = "$ PATH: $ VIRTUAL_ENV / bin" Untuk alasan yang tidak jelas bagi saya, python yang dapat dieksekusi dalam dir virtualenv tidak melihat Django tetapi biasanya python terpasang tidak.
sumber
================================== SOLUSI =============== ==========================
Goto pertama: virtualenv
dengan menjalankan perintah: source bin / aktifkan
dan instal Django karena Anda mendapatkan kesalahan terkait dengan 'impor Django':
Lalu lari:
(Catatan: ubah 'runserver' ke nama program yang ingin Anda jalankan)
Untuk masalah yang sama, itu berhasil dalam kasus saya. ================================== Sinopsis =============== ==========================
Selama menangani pengecualian di atas, pengecualian lain terjadi:
Selama menangani pengecualian di atas, pengecualian lain terjadi:
Selama menangani pengecualian di atas, pengecualian lain terjadi:
SETELAH INSTALASI Django:
SETELAH MENYELESAIKAN:
Semoga berhasil!!
sumber
proyek Anda dibuat menggunakan django-admin.py versi lama, lebih tua dari django1.3
untuk memperbaikinya, buat proyek Django lain dan salin kelola.py dan tempel di yang lama
sumber
Sepenuhnya setuju bahwa ini adalah masalah jalur tapi fwiw, saya punya kesalahan yang sama. Itu karena kesalahan menggunakan jalur relatif untuk dieksekusi Python saya ketika mengatur lingkungan virtual saya. Saya telah melakukan ini:
Sebaliknya saya harus memberikan path lengkap ke executable Python.
HTH, Harlin
sumber
sumber ~ / blog-venv / bin / aktifkan
pilih virtualenv Anda untuk mengganti "blog-venv" di sini.
sumber
File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Pastikan Anda menjalankan instance Python yang benar dengan direktori yang tepat di jalurnya. Dalam kasus saya, kesalahan ini dihasilkan dari menjalankan
python
executable secara tidak sengaja - Saya telah menginstal Django di bawahpython2.7
framework & libraries. Hal yang sama dapat terjadi sebagai hasil dari virtualenv juga.sumber
Oke jadi begini:
Anda telah menciptakan lingkungan virtual dan modul Django hanya milik lingkungan itu saja. Karena virtualenv mengisolasi dirinya dari yang lain, maka Anda melihat ini.
lihat ini untuk bantuan lebih lanjut:
http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/
1. Anda dapat beralih ke direktori tempat lingkungan virtual Anda disimpan dan kemudian jalankan modul django.
2. Secara alternatif Anda dapat menginstal Django secara global ke paket python-> situs Anda dengan menjalankan pip atau easy_install
Perintah menggunakan pip: pip install django
lalu lakukan ini:
import django print (django.get_version ()) (tergantung pada versi python yang Anda gunakan. Ini untuk python 3+ series)
dan kemudian Anda dapat menjalankan ini: python manage.py runserver dan memeriksa browser web Anda dengan mengetik: localhost: 8000 dan Anda akan melihat halaman bertenaga Django.
Semoga ini membantu.
sumber
Saya memasukkan nama Aplikasi baru ke daftar INSTALLED_APPS di settings.py "before" Saya mengeluarkan perintah startapp. Setelah saya menghapus entri daftar, saya bisa membuat aplikasi.
sumber
Saya memecahkan masalah ini dengan menggunakan perintah 'django-admin' sebagai berikut:
django-admin startproject _project_name
hapus saja ".py" yang terlampir pada "django-admin"
sumber
Memiliki aplikasi yang dipanggil
site
dapat mereproduksi masalah ini juga.sumber
Saya mendapatkan ini karena lupa bahwa saya menginstal Django menggunakan
pip -U
, jadi itu hanya tersedia untuk pengguna yang menjalankan aplikasi Django saya. Untuk menjalankan manage.py harus saya lakukansumber
kalian semua tidak menyebutkan kasus di mana seseorang "seperti saya" akan menginstal Django sebelum menginstal virtualenv ... jadi untuk semua orang seperti saya jika Anda melakukan itu ... instal ulang Django setelah mengaktifkan virtualenv..i semoga ini membantu
sumber