簡體   English   中英

Django manage.py runserver 語法無效

[英]Django manage.py runserver invalid syntax

我正在使用django開發Ubuntu中的web。一切正常。 現在,我想更改使用 Windows 的計算機。當我嘗試運行服務器時,它給出:

E:\DEGNet>py manage.py runserver
  File "manage.py", line 14
    ) from exc
         ^
SyntaxError: invalid syntax

E:\DEGNet>py
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

如上圖,我已經安裝了Python 3.6.3。 我也使用 pip3 安裝了 django 和其他必要的庫。

編輯: manage.py 文件,它是我在生成項目時得到的默認 manage.py 。

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

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DEGNet.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)

我遇到了同樣的問題,但現在用這個 cmd 解決了:

python3 manage.py runserver

編輯您的manage.py文件,如下所示:

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

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DEGNet.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?"
        )
    execute_from_command_line(sys.argv)

請注意, from exc文件中刪除了from exc manage.py文件中不需要它。

  1. 確保您的 virtualenv 已激活。 假設您的 virtualenv 的名稱是 pythonpy,然后運行以下命令:

    virtualenv pythonpy workon pythonpy #運行這些命令后,你應該看到類似這樣的東西,但你的文件路徑可能不同:“(pythonpy)C:\\Users\\MyDjangoProject\\

  2. 然后轉到包含 manage.py (pythonpy) C:\\Users\\ MyDjangoProject \\ #Same 路徑的項目文件夾
  3. 然后簡單地運行服務器:

    python manage.py runserver #這將為您提供本地主機的項目路徑。 將 URL 復制並粘貼到瀏覽器中,應該可以正常工作。

您只是忘記激活虛擬環境,請這樣做:

source /home/adel/Dev/Python/DjangoProjects/myproject/venv/bin/activate

然后你可以運行服務器:

python manage.py runserver

嘗試(從命令行):

python3 manage.py runserver

如果我使用這個(沒有 python 3 ):

python manage.py runserver

錯誤仍然存​​在。 此方法允許您不必更改 manage.py(因此您可以保持“from exc”)。

我也有這個錯誤,但先安裝 pipenv 解決它,

嘗試先運行這個

pipenv shell django==2.1

那么你應該能夠運行

python3 manage.py runserver

確保您正在從 virtualenv 運行應用程序,即如果您已經為您的項目創建了一個 virtualenv,那么首先激活 venv。

me@debian:~/Desktop/webapp$source venv/bin/activate 
(venv) me@debian:~/Desktop/webapp$python manage.py runserver

發生的情況是使用了錯誤版本的 python,它可能沒有你的 virtualenv 中的所有依賴項。 使用sudo manage.py時出現此錯誤:使用sudo更改了用於/usr/bin/python

通過指定在使用sudo時使用哪個版本的 python 來解決問題:

sudo /path/to/my/env/bin/python manage.py makemigrations

我也遇到了同樣的問題,我覺得很奇怪,因為我已經激活了virtualenvironment並設置了python3,但是我在使用“python manage.py runserver”這個語句時遇到了這個問題。我經常使用這個語句但是我遇到了這只有一次,我重新啟動我的虛擬環境並運行,希望你也能。

我在Python 3.4.4Django 2.0 上也遇到了同樣的問題。 我嘗試了最后一個解決方案,沒有任何效果(無需刪除: from exc第 14 行的from exc )。

只需使用以下命令運行您的服務器:

python manage.py runserver

代替:

./manage.py runserver #or '.\manage.py runserver' for Windows

我這樣運行沒有問題:

sudo ./**(your path)**/bin/python manage.py runserver

我有同樣的問題。 我通過簡單地指定python版本來解決它,即鍵入python3 manage.py runserver而不是python manage.py runserver

我重新安裝了 v env

virtualenv venv --python=python3.7

我安裝了 django

有效

我已經脫離了虛擬環境。

我重新運行了pipenv shell

首先在找到 Env 文件夾的命令行上執行此操作:

source Env/bin/activate

然后現在導航到您的項目目錄並執行以下操作:

python manage.py runserver

有用!!

我面臨着同樣的問題。

激活 venv 並運行python manage.py runserver不起作用。

我可以看到 venv 已激活,但仍然無法正常工作。 然后嘗試python3 manage.py runserver擺脫了exc問題,但現在它沒有檢測到我安裝的庫。

我所做的破壞它的更改是重命名基本文件夾(類似於 OP 基本文件夾位置的情況現在不同了)。

但是等等,這會如何影響任何事情?

venv/bin/activate中存儲venv完整路徑的變量現在不再有效。

分辨率

  1. 如果已經在運行,則停用 venv
  2. 打開 venv/bin/激活
  3. 搜索VIRTUAL_ENV變量並根據所做的新文件夾更改重命名。
  4. 激活 venv source venv/bin/activate
  5. 運行python manage.py runserver

多田,一切都恢復正常,我們可以愉快地享用我們的檸檬水了。

只需使用python3 manage.py runserver代替python manage.py runserver

暫無
暫無

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

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