CentOS7上使用pyenv搭建Django环境

 更新时间:2021年11月03日 15:46:57   作者:赤色风暴  
本文主要介绍了CentOS7上使用pyenv搭建Django环境,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、pyenv是什么?能做什么?

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.

​​pyenv​​可以很轻松的下载指定的python版本,可以很轻松的在当前目录,全局环境,当前shell中切换到需要的python环境,我们看下GitHub上对pyenv的介绍,python的虚拟环境个人也比较推荐pyenv,切换很方便,不用像virtualenv或者其他虚拟环境一样麻烦。

CentOS7上使用pyenv搭建Django环境_python

二、pyenv如何安装和使用

2.1 安装

本次实在CentOS7.3上安装的,推荐使用官方推荐的​​Automatic installer​​方法安装,安装起来非常简单,方式也比较快捷

yum  install gcc make patch gdbm-devel openssl-devel  sqlite-devel readline-devel zlib-devel bzip2-devel
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

在/etc/bash_profile中追加如下内容

export PATH="/home/python/.pyenv/bin:$PATH"
eval "(pyenv init -)"
eval "(pyenv virtualenv-init -)"

source    /etc/bash_profile

2.2 使用

我们可以用命令查看下pyenv支持下载安装哪些版本

pyenv   install     -l

CentOS7上使用pyenv搭建Django环境_python_02

根据我们需要的版本,可以安装python版本,本次以安装python 3.9.2为例

pyenv install 3.9.2 (需要有网络,该过程会去python官网下载python版本然后自行编译安装,因此该过程实际时间根据网络时间和主机CPU性能来定)

安装完成之后,可以使用pyenv versions来查看当前系统中的python版本

CentOS7上使用pyenv搭建Django环境_centos_03

接下来,我们开始设置pythen版本,设置python版本总共有三个环境可供选择设置

pyenv  global  3.9.2               //系统整体的切换到python3.9.2的版本pyenv  shell    3.9.2               //当前的shell会话切换到python3.9.2版本pyenv  local    3.9.2               //当前目录路径内切换到python3.9.2版本

我们安装使用django,当然是单独创建一个目录,用这个目录来存放项目,因此我们创建一个project目录,使用pyenv local 3.9.2,将当前目录的版本设置为python3.9.2

CentOS7上使用pyenv搭建Django环境_django_04

三、什么是Django

​​Django​​有太多太多的文档和博客来说明了,这里就废话少说,大概介绍下,具体的话看别人博客或者官网都可以。Django 是使用 Python 语言编写的一个广受欢迎且功能完整的服务器端网站框架,由经验丰富的开发者构建,Django负责处理网站开发中麻烦的部分,因此你可以专注于编写应用程序,而无需重新开发。它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。

根据官网上的内容,可以看到Django的迭代速度还是相对比较快的,因此开发建议选择一个长期维护并且稳定的版本,本次安装使用3.2.8版本的,相对来说维护周期长,比较稳定可靠。

CentOS7上使用pyenv搭建Django环境_django_05

四、Django安装和搭建

4.1 安装

前面我们已经安装了pyenv因此安装django就会轻松很多,直接使用pip命令安装即可(注意需要在上面的project目录里面使用pip3安装,否则默认使用系统的pip2安装会有问题的)

CentOS7上使用pyenv搭建Django环境_django_06

安装完成之后,我们需要在pyenv环境里面更新下数据库,就可以使用django的相关命令

pyenv   rehash

完成之后我们使用django相关命令会发现报错,想不到sqlite3相关的模块,这是因为django对sqlite有版本要求(低版本django可能无),因为我们还需要更新CentOS7.3上面的sqlite的版本

cd   /tmp/project
django    startproject   HelloDjango
python  manager.py   startapp   App

CentOS7上使用pyenv搭建Django环境_centos_07

因此我们需要将系统的sqlite更新到更高的版本3.9之后,本次更新到3.36版本,先去​​sqlite​​​官网下载对应的版本编译安,CentOS选择​​autoconf​​版本编译安装,编译时间根据系统CPU性能而定

tar   zxvf    sqlite-autoconf-3360000.tar.gz

CentOS7上使用pyenv搭建Django环境_django_08

安装成功之后需要将系统中默认的sqlite版本改为我们编译的版本,因此需要做如下操作

mv   /usr/bin/sqlite3    /usr/bin/sqlite3_old
ln  -sv   /usr/local/bin/sqlite3   /usr/bin/sqlite3
sqlite3  --version  
export LD_LIBRARY_PATH="/usr/local/lib"   设置环境变量

CentOS7上使用pyenv搭建Django环境_django_09

4.2 使用

我们可以看到sqlite3已经更新到我们高版本了,因此再运行django命令就没有任何问题了

CentOS7上使用pyenv搭建Django环境_centos_10

django-admin   startproject    HelloDjango        创建一个叫HelloDjango的项目
cd      HelloDjango 
python   manage.py    startapp     App              HelloDjango项目中创建一个App的应用

进入到HelloDjango中我们修改下settings.py文件中允许被访问的主机,如果不修改默认只允许127.0.0.1本机回环地址,这对我们web应用来说没有意义,因此我们需要修改ALLOWED_HOSTS默认允许的主机改为"*"即可

CentOS7上使用pyenv搭建Django环境_centos_11

接下来我们就开始启动第一个django服务了

python   manage.py.   runserver.  0.0.0.0:8000     开放本机所有地址的8000端口

CentOS7上使用pyenv搭建Django环境_django_12

然后使用浏览器,在浏览器中输入我们本机的地址加端口号8000,即可完成访问,安装搭建即到此为止。

http://xxx.xxx.xxx.xxx:8000

CentOS7上使用pyenv搭建Django环境_django_13

到此这篇关于CentOS7上使用pyenv搭建Django环境 的文章就介绍到这了,更多相关pyenv搭建Django环境 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python django 增删改查操作 数据库Mysql

    python django 增删改查操作 数据库Mysql

    下面小编就为大家带来一篇python django 增删改查操作 数据库Mysql。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Ubuntu16.04 安装多个python版本的问题及解决方法

    Ubuntu16.04 安装多个python版本的问题及解决方法

    Ubuntu16.04自带python2.7与python3.5,Ubuntu 官方 apt 库中还未收录 python 3.8,因此添加 deadsnakes PPA 源安装python3.8,否则会出现报错,接下来通过本文给大家介绍Ubuntu16.04 安装python的问题,一起看看吧
    2021-09-09
  • 基于PyQT5制作一个课堂点名系统

    基于PyQT5制作一个课堂点名系统

    这篇文章主要为大家介绍一个基于PyQt5实现的抖音同款课堂点名系统,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02
  • python: line=f.readlines()消除line中\n的方法

    python: line=f.readlines()消除line中\n的方法

    这篇文章主要介绍了python: line=f.readlines()消除line中\n的方法,需要的朋友可以参考下
    2018-03-03
  • Python json模块与jsonpath模块区别详解

    Python json模块与jsonpath模块区别详解

    这篇文章主要介绍了Python json模块与jsonpath模块区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python基于pygame实现飞机大作战小游戏

    python基于pygame实现飞机大作战小游戏

    这篇文章主要为大家详细介绍了python基于pygame实现飞机大作战小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • pandas round方法保留两位小数的设置实现

    pandas round方法保留两位小数的设置实现

    本文主要介绍了pandas round方法保留两位小数的设置实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python字符串详细介绍

    Python字符串详细介绍

    这篇文章主要介绍了Python字符串详解,本文讲解了字符串相关知识、字符串的一些特性、原始字符串、unicode字符串、字符串的常用操作方法、内建函数列表等内容,需要的朋友可以参考下
    2015-05-05
  • 如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱

    如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱

    SQLAlchemy 是一个 Python ORM 工具包,它提供使用 Python 访问 SQL 数据库的功能。这篇文章主要介绍了如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱,需要的朋友可以参考下
    2019-11-11
  • python实现按关键字筛选日志文件

    python实现按关键字筛选日志文件

    今天小编大家分享一篇python实现按关键字筛选日志文件方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论