簡體   English   中英

導入錯誤:使用 manage.py 時沒有名為 django.core.management 的模塊

[英]ImportError: No module named django.core.management when using manage.py

我正在嘗試在我擁有的 Django 應用程序上運行python manage.py runserver ,但出現此錯誤:

Traceback (most recent call last):
File "manage.py", line 8, in <module>
 from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

這是pip freeze | grep -i django的輸出pip freeze | grep -i django pip freeze | grep -i django顯示我確實安裝了 Django:

Django==1.6.5
django-cached-authentication-middleware==0.2.0
django-cors-headers==1.1.0
django-htmlmin==0.7.0
django-static-precompiler==0.9
djangorestframework==2.3.14

此外,嘗試運行/usr/local/bin/python2.7 manage.py runserver產生相同的錯誤。

可能導致您的問題的可能問題:

  1. PYTHONPATH 沒有很好地配置,要配置它你應該這樣做:

     export PYTHONPATH=/usr/local/lib/python2.7/site-packages
  2. 您忘記了 manage.py 開頭的#!/usr/bin/env python

  3. 如果您正在使用 virtualenv,您忘記激活虛擬環境來執行 manage.py 命令(您可能已經在系統上安裝了 Django,但沒有在您的 virtualenv 上安裝)

     source path/to/your/virtualenv/bin/activate

    或者

    workon env_name
  4. 你有 Python 2.7 和 Python 3.4 弄亂了包

  5. 您使用的是非常舊的 Python 2.4,您應該告訴系統將您的 Python 2.7 用於:

     alias python=python2.7

有時重新安裝/升級 Django 可以解決其中的一些問題。

你可能想要執行

python -c "import django; print(django.get_version())"

檢查 Django 是否安裝在您的 PC 或您的 virtualenv(如果您正在使用)上

您可以在其他類似問題中找到其他一些解決方案:

為了解決我的問題,我在 .zprofile 中使用了以下行:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

我試圖導入 Django,但找不到,執行上述操作解決了問題。

我通過運行以下命令解決了同樣的錯誤:

python3.4 manage.py runserver

並且上面的命令為我成功執行。 因此,您可以嘗試的是,如果您使用的是 python 2.7,那么只需將 3.4 替換為 2.7。 希望這可以幫助。

當我使用 Python3 完成所有設置並運行 django 但運行以下命令時,我遇到了同樣的問題:

$ python manage.py migrate

通過使用一致版本的 Python 修復了該問題:

$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: sessions, auth, admin, contenttypes
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK

我在此之前運行的其他命令是:

python3 -m pip install django
django-admin startproject learning_site
python3 manage.py  runserver 0.0.0.0:8000

如果你在windows系統中使用virtualenv並運行manage.py runserver ,cmd將使用系統的python,而不是virtualenv中的python。 因為如果您安裝python系統,CMD會自動使用python是安裝在系統中,而不是在蟒蛇virtualenv 因此,如果您在 Windows 中使用virtualenv 你需要跑

>python .\manage.py runserver

該錯誤是由於用戶環境造成的。 事實上,我只是將美德環境 bin 路徑添加到 PATH 中,問題已經解決。

PATH=/bin/of_virtualenvironment/:$PATH

直接的問題是缺少 django 包。 對我來說,當我在 virtualenv 中運行 django 時,在我重命名我的工作目錄后會出現這個問題。

重新安裝環境對我有用。

在 django 文件所在的位置,檢查 django-admin.py 的第一行:

#!/usr/bin/env python

如果你使用python 3+,這里的python可能指的是這里的python2。 因此,請檢查您使用哪個 python 安裝 django。

ls -l $(which -a python3)

如果您確實安裝了 python3 並且未鏈接為python ,請將第一行 shebang 更改為

#!/usr/bin/env python3

另外,請確保您沒有使用alias es 弄亂您的.bashrc 如果.bashrc包含類似alias python="/usr/bin/python3"您將收到此類錯誤。

我發現我可以從 python 解釋器中導入 django 模塊,但是從命令行運行時 django-admin.py 無法導入它。

我確認我在我的虛擬環境中使用了 python 解釋器。

我使用的是 64 位版本的 python。 卸載並安裝 32 位版本,然后重新創建我的 venv 為我解決了這個問題。

修復了我項目中僅使用的相同問題;

pip install -r requirements.txt

我不需要做任何其他事情。 當我運行./manage.py runserver一切正常!

使用 Pycharm 轉到配置將runserver 8080添加到參數,或者我通過重新啟動計算機解決了我的問題......奇怪但有效。 我不必更改 pip 或安裝其他任何東西,首先嘗試我列出的第一種方法,如果您可以通過 PyCharm 箭頭圖標運行 manage.py,它將起作用,如果您想返回終端並鍵入 python manage.py runserver:port 嘗試重新啟動您的機器。

在這里嘗試解決方案對我不起作用。 重新安裝 Django 並升級 pip 消除了錯誤,現在當我運行python migrate.py runserver時一切都按預期工作

以下是我使用的 CLI 命令:

python -m pip 安裝 django

python -m pip install --upgrade pip

我通過在我正在處理的虛擬環境中安裝 django 解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM