python安装django方法及报错解决

本文详细介绍了Django框架的安装过程,包括通过pip和源码安装的方法,解决了安装过程中遇到的常见问题,并演示了如何创建首个Django项目及应用,实现首个页面响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先可以去django官网查一下合适的版本(支持python 2.7 和python3.x)

https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django

安装方法参考官网,Option 2中 development version是非稳定版本,可以下载tar.gz包安装

https://www.djangoproject.com/download/

Python环境(3.7.1)

方法一:使用pip安装("==" 后写django版本号)

pip install Django==2.1.4

安装成功后可以使用命令 python -m django --version 查看版本,也可以进入python交互环境执行 import django确认无报错。

Python 3.7.1 (default, Dec 15 2018, 19:57:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import django
>>>

方法二:使用源码安装

首先,把官网下载的tar.gz上传至服务器并解压缩

# tar -xzvf Django-2.1.4.tar.gz

然后进入Django解压后的路径,里面有setup.py,执行python setup.py install

# ls
Django-2.1.4  Django-2.1.4.tar.gz
# cd Django-2.1.4
# python setup.py install

如果顺利的话,安装完成。但是,遇到了两个问题

问题1:

[root@xxx Django-2.1.4]# python setup.py install
Traceback (most recent call last):
  File "setup.py", line 32, in <module>
    """.format(*(REQUIRED_PYTHON + CURRENT_PYTHON)))
ValueError: zero length field name in format
[root@xoam Django-2.1.4]# python setup.py help
Traceback (most recent call last):
  File "setup.py", line 32, in <module>
    """.format(*(REQUIRED_PYTHON + CURRENT_PYTHON)))
ValueError: zero length field name in format

原因:上网查了一下有博主进一步分析得出是python版本的问题。检查了一下自己的环境除了python3.7还妆了python2.6,而python2.6是不支持django的。

解决:执行python命令带上python3全路径,例如

[root@xxx Django-2.1.4]# /opt/python3/Python-3.7.1/python setup.py install

或者使用python3

[root@xxx Django-2.1.4]# python3 setup.py install

以上报错解决后,安装过程遇到了第二个报错

问题2:

...
Installed /usr/local/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg
Processing dependencies for Django==2.1.4
Searching for pytz
Reading https://pypi.python.org/simple/pytz/
Download error on https://pypi.python.org/simple/pytz/: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'pytz' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: unknown url type: https -- Some packages may not be found!
No local packages or working download links found for pytz
error: Could not find suitable distribution for Requirement.parse('pytz')

于是去python官网下载pytz安装(同样解压后去pytz路径执行python setup.py install)

https://pypi.org/project/pytz/#files

再去安装Django,成功~

...
Installed /usr/local/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg
Processing dependencies for Django==2.1.4
Searching for pytz==2018.7
Best match: pytz 2018.7
Processing pytz-2018.7-py3.7.egg
pytz 2018.7 is already the active version in easy-install.pth

Using /usr/local/lib/python3.7/site-packages/pytz-2018.7-py3.7.egg
Finished processing dependencies for Django==2.1.4
[root@xxx Django-2.1.4]# /opt/python3/Python-3.7.1/python -m django --version
2.1.4

(End)

 

====================================

            分           割          线

====================================

一些学习笔记(有点乱哈哈,没地方放了)

课程视频 https://www.imooc.com/learn/790 

(一)安装Django(参考https://www.djangoproject.com/download/)

环境:Windows,Python3.7

可以用pip安装,使用命令 pip install Django==<版本号>

C:\> pip install Django==2.1.4

也可以用源码安装(下载tar.gz然后进入目录执行 python setup.py install)

 

(二)创建项目及应用

安装Django后就可以在命令行执行 django-admin 这个命令了

创建项目

打开命令行,进入想要安置项目的路径

命令行输入:django-admin startproject myblog (若没有报错,则创建项目成功)

C:\>cd imoocBlog

C:\imoocBlog>django-admin startproject myblog

C:\imoocBlog>

使用PyCharm打开Project,可以看到目录层级

回到命令行,执行如下命令

C:\imoocBlog\myblog>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 19, 2018 - 21:48:05
Django version 2.1.4, using settings 'myblog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

打开Chrome,输入网址http://127.0.0.1:8000/ 或者 http://localhost:8000/ 看到如下页面

8000是默认端口,如果想用别的端口,也是可以滴~ 启动命令改成   python manage.py runserver <端口号>

 

创建应用

打开命令行,进入项目中manage.py同级目录

输入如下命令创建应用blog,执行完后 manage.py同级目录下出现blog/这个文件夹

注意:应用名不可以和python中的模块名相同

C:\imoocBlog\myblog>python manage.py startapp blog

C:\imoocBlog\myblog>dir
...

 C:\imoocBlog\myblog 的目录

2018/12/19  22:17    <DIR>          .
2018/12/19  22:17    <DIR>          ..
2018/12/19  22:17    <DIR>          blog
2018/12/19  21:48                 0 db.sqlite3
2018/12/19  21:40               553 manage.py
2018/12/19  21:47    <DIR>          myblog
               2 个文件            553 字节
               4 个目录  2,652,831,744 可用字节

C:\imoocBlog\myblog>

添加应用名到 settings.py 的 INSTALL_APPS 中

创建第一个页面(响应)

先看一下目录结构

编辑myblog/blog/views.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
    return HttpResponse('Hello,word!')

编辑myblog/myblog/urls.py 仿照例子添加 urlpatterns(采用的是注释提示的第一种方法Function views)

"""myblog URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
import blog.views as bv
urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', bv.index),
]

到命令行启动server

C:\imoocBlog\myblog>python manage.py runserver

打开网页 http://127.0.0.1:8000/blog/,可以看到views.py文件中index函数返回的 Hello,word!

步骤总结

(1)编辑blog.views

         每个响应对应一个函数,函数必须返回一个响应

         函数必须存在一个参数,一般约定为request

         每一个响应(函数)对应一个URL

(2)配置URL(编辑urls.py)

         每个URL都以url的形式写出来

         url函数放在urlpatterns列表中

         url函数三个参数:URL(正则),对应方法,名称

(三)第一个模板

import blog.views as bv

urlpatterns = [

    path('admin/', admin.site.urls),

    path('index/', bv.index),

]

### 解决方案 当尝试在 Python 3.11 中安装 Django 并遇到 `SyntaxError: invalid syntax` 错误时,通常是因为所使用的 Django 版本不兼容当前的 Python 版本。Django 的不同版本支持特定范围的 Python 版本[^4]。 #### 检查 DjangoPython 的兼容性 确保正在安装Django 版本与 Python 3.11 兼容。例如,Django 4.x 支持 Python 3.8 及更高版本,因此推荐使用最新稳定版的 Django 来匹配 Python 3.11。 如果仍然出现问题,则可能是其他依赖项或环境配置存在问题。 --- #### 验证 Python 版本 确认当前环境中运行的是正确的 Python 版本: ```bash python --version ``` 或者对于显式指定的 Python 3.11: ```bash python3.11 --version ``` 如果显示不是预期的 Python 3.11,请调整虚拟环境设置或全局默认解释器。 --- #### 创建并激活虚拟环境 为了隔离项目依赖关系,建议使用虚拟环境来管理 Python 包。以下是基于 Python 自带模块 `venv` 的方法: ```bash python3.11 -m venv myenv source myenv/bin/activate ``` 此时命令提示符会显示 `(myenv)` 表明已成功切换到该虚拟环境。 --- #### 安装最新的 Django 在虚拟环境下执行以下命令以安装最新版本的 Django: ```bash pip install django ``` 验证安装是否成功以及其具体版本号: ```bash python -m django --version ``` 此操作应返回类似于 `4.x.y` 的输出表示正常工作状态下的 Django 版本信息。 --- #### 如果仍有语法错误 假如上述步骤完成后依旧存在 `invalid syntax` 类型的问题,可以考虑清理缓存文件后再重试一次包安装过程: 删除可能残留旧数据影响的新建目录结构中的 `.pyc` 文件以及其他临时编译产物;另外重新构建整个 pip 缓冲区也可能有所帮助 : ```bash rm -rf ./__pycache__ pip cache purge pip install --upgrade pip setuptools wheel pip install django ``` 以上措施有助于排除因先前失败安装留下的干扰因素引发新的冲突情况发生几率降到最低限度之内[^2]. --- ### 示例代码片段展示如何正确初始化一个新的 Django 应用程序实例 下面给出一段简单的脚本来演示标准流程创建测试用途的小型 web server 实例供参考学习之便: ```python import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') from django.core.management import execute_from_command_line execute_from_command_line(['manage.py', 'runserver']) ``` 注意这里假设已经通过官方文档指导完成基础框架搭建动作之后再调用这段逻辑启动服务端口监听功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值