python - Django : python manage. py runserver(多个错误)

标签 python python-3.x django ubuntu

根据 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.py
from 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
    
  • 创建一个新的虚拟环境。常见的 virtualenv 名称是 venv , env
  • virtualenv --python=python3 --no-site-package <virtualenv-name>
    #example:
    virtualenv --python=python3 --no-site-package venv
    
  • 激活虚拟环境。在当前目录中打开终端(在 linux 和 Mac OSX 中)或 powershell(在 windows 中)并执行以下命令:
  • source <virtualenv-name>/bin/activate
    
  • 安装所需的软件包。您的 virtualenv 的名称应该放在括号中的 shell 前面。
  • (<virtualenv-name>) pip3 install django
    
  • 最后成功运行服务器。
  • (<virtualenv-name>) python3 manage.py runserver
    
    B) Pipenv
  • 安装管道。
  • pip3 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:如果运行项目仍然有问题,最好从头开始创建一个新项目:
  • 如上所述创建一个新的 virtualenv。
  • 激活虚拟环境。
  • 安装 Django。
  • (venv) pip3 install django
    
  • 创建新的 Django 项目。
  • (venv) django-admin startproject <project-name>
    
  • 将目录更改为 django 项目目录,然后运行服务器。
  • (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/

    相关文章:

    python - pyqtgraph编译为可执行文件失败

    python - Matplotlib 添加文本,使其在点结束

    python-3.x - 如何通过查询获取用户在 SQLite3 中的排名/位置?

    python - 来自 Django Web 服务的空回复

    python - 以毫秒为单位分配时间以获得平滑曲线

    Python-tkinter组合框保存值

    python - 迭代 python 列表对象并调用每个对象的方法

    python-3.x - 将包含集合的数据框列的每一行转换为包含列表的列

    python - Django 上传和处理没有数据保留的文件

    Django · Tastypie