![](/img/trans.png)
[英]New to Python - Django manage.py runserver invalid syntax
[英]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
文件中不需要它。
virtualenv pythonpy workon pythonpy #運行這些命令后,你應該看到類似這樣的東西,但你的文件路徑可能不同:“(pythonpy)C:\\Users\\MyDjangoProject\\
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.4和Django 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
完整路徑的變量現在不再有效。
分辨率:
VIRTUAL_ENV
變量並根據所做的新文件夾更改重命名。source venv/bin/activate
python manage.py runserver
多田,一切都恢復正常,我們可以愉快地享用我們的檸檬水了。
只需使用python3 manage.py runserver
代替python manage.py runserver
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.