根据 youtube 上的教程,我最近开始将 Django 用于我的第一个 Web 应用程序,在此命令之前一切都很好:$ python manage.py runserver
这意味着我能够创建一个虚拟环境并使用以下命令创建一个项目:$ python3 -m django startproject <projectname>
.
这是我的管理.py 好像:
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_blog.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)
if __name__ == '__main__':
main()
以下是我的一些不同尝试和错误:$ python manage.py runserver
错误: File "manage.py", line 22, in <module>
main()
File "manage.py", line 14, in main
"Couldn't import Django. Are you sure it's installed and "
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?
尝试 n°1:$ python pip install django
错误:python: can't open file 'pip': [Errno 2] No such file or directory
$ python -m pip install gekko
在 $ python pip install django
之后仍然给出与上述相同的错误尝试 n°2:
$ python3 manage.py runserver
和 $ python3.6 manage.py runserver
两者都给出相同的错误:File "/usr/local/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
尝试使用:$ pip3 install pysqlite3
$ sudo apt-get install libsqlite3-dev
然后在里面~/Downloads/Python-3.6.2$ ./configure --enable-loadable-sqlite-extension && make && sudo make install
问题仍然存在。尝试 n°3:
$ python3.5 manage.py runserver
Traceback (most recent call last):
File "manage.py", line 11, in main
from django.core.management import execute_from_command_line
ImportError: No module named 'django'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 14, in main
"Couldn't import Django. Are you sure it's installed and "
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 django.urls import path
ImportError: cannot import name path
这是我的 urls.pyfrom django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
这是我运行 sudo tree
时得到的结果linux上的命令thalagalage@3n1gm4:~/chamika/Python/DjangoBlog$ sudo tree
.
├── django_blog
│ ├── django_blog
│ │ ├── asgi.py
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-36.pyc
│ │ │ ├── settings.cpython-36.pyc
│ │ │ └── urls.cpython-36.pyc
│ │ ├── settings.py
│ │ ├── settings.pyc
│ │ ├── urls.py
│ │ ├── urls.pyc
│ │ └── wsgi.py
│ ├── manage.py
│ └── manage.sublime-workspace
└── django_env
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate.ps1
│ ├── activate_this.py
│ ├── activate.xsh
│ ├── django-admin
│ ├── django-admin.py
│ ├── easy_install
│ ├── easy_install3
│ ├── easy_install-3.6
│ ├── easy_install3.6
│ ├── pip
│ ├── pip3
│ ├── pip-3.6
│ ├── pip3.6
│ ├── __pycache__
│ │ └── django-admin.cpython-36.pyc
│ ├── python -> /usr/bin/python3
│ ├── python3 -> python
│ ├── python3.6 -> python
│ ├── sqlformat
│ ├── wheel
│ ├── wheel3
│ ├── wheel-3.6
│ └── wheel3.6
以下是我为了进入我的虚拟环境而使用的分步命令,直到我遇到 manage.py runserver
抛出 ModuleNotFoundError: No module named '_sqlite3'
的命令.thalagalage@3n1gm4:~/chamika/Python/DjangoBlog$ ll
total 16
drwxr-xr-x 4 thalagalage thalagalage 4096 sept. 5 19:02 ./
drwxrwxr-x 11 thalagalage thalagalage 4096 sept. 5 18:13 ../
drwxr-xr-x 3 thalagalage thalagalage 4096 sept. 5 19:32 django_blog/
drwxr-xr-x 4 thalagalage thalagalage 4096 sept. 5 18:03 django_env/
thalagalage@3n1gm4:~/chamika/Python/DjangoBlog$ source django_env/bin/activate
(django_env) thalagalage@3n1gm4:~/chamika/Python/DjangoBlog$ python3 -m django --version
3.1.1
(django_env) thalagalage@3n1gm4:~/chamika/Python/DjangoBlog$ cd django_blog
(django_env) thalagalage@3n1gm4:~/chamika/Python/DjangoBlog/django_blog$ ll
total 32
drwxr-xr-x 3 thalagalage thalagalage 4096 sept. 5 19:32 ./
drwxr-xr-x 4 thalagalage thalagalage 4096 sept. 5 19:02 ../
drwxr-xr-x 3 thalagalage thalagalage 4096 sept. 6 01:02 django_blog/
(django_env) thalagalage@3n1gm4:~/chamika/Python/DjangoBlog/django_blog$ python3 manage.py runserver
谢谢您的帮助!
最佳答案
您应该做的第一件事是创建一个虚拟环境。虚拟环境是放置你的包的地方,例如 Django 是模块之一。为了创建虚拟环境,您有多种选择,例如 pipenv
, virtualenv
, ETC。
A) 虚拟环境
virtualenv
使用以下命令:pip3 install virtualenv
venv
, env
等virtualenv --python=python3 --no-site-package <virtualenv-name>
#example:
virtualenv --python=python3 --no-site-package venv
source <virtualenv-name>/bin/activate
(<virtualenv-name>) pip3 install django
(<virtualenv-name>) python3 manage.py runserver
B) Pipenvpip3 install pipenv
或者在linux中你可以执行以下几行:sudo apt install software-properties-common python-software-properties
sudo add-apt-repository ppa:pypa/ppa
sudo apt update
sudo apt install pipenv
pipenv
创建新环境您必须在终端中输入以下行。 pipenv --python 3.6
pipenv install django
python3 manage.py runserver
PS:如果运行项目仍然有问题,最好从头开始创建一个新项目:(venv) pip3 install django
(venv) django-admin startproject <project-name>
(venv) cd <project-name>
(venv) python3 manage.py makemigrations
(venv) python3 manage.py migrate
(venv) python3 manage.py runserver
关于python - Django : python manage. py runserver(多个错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63759220/