乐趣区

关于python:都2021年了还不会在CentOS7上使用pyenv搭建Django环境吗

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

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

   ​​pyenv​​能够很轻松的下载指定的 python 版本, 能够很轻松的在当前目录,全局环境,以后 shell 中切换到须要的 python 环境,咱们看下 GitHub 上对 pyenv 的介绍,python 的虚拟环境集体也比拟举荐 pyenv,切换很不便,不必像 virtualenv 或者其余虚拟环境一样麻烦。

二、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

依据咱们须要的版本,能够装置 python 版本,本次以装置 python 3.9.2 为例

pyenv   install   3.9.2   (须要有网络, 该过程会去 python 官网下载 python 版本而后自行编译装置,因而该过程理论工夫依据网络工夫和主机 CPU 性能来定)

装置实现之后, 能够应用 pyenv  versions 来查看以后零碎中的 python 版本

接下来,咱们开始设置 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

三、什么是 Django

       ​​Django​​有太多太多的文档和博客来阐明了,这里就废话少说,大略介绍下,具体的话看他人博客或者官网都能够。Django 是应用 Python 语言编写的一个广受欢迎且性能残缺的服务器端网站框架,由经验丰富的开发者构建,Django 负责解决网站开发中麻烦的局部,因而你能够专一于编写应用程序,而无需从新开发。它是收费和开源的,有沉闷凋敝的社区,丰盛的文档,以及很多收费和付费的解决方案。

      依据官网上的内容,能够看到 Django 的迭代速度还是绝对比拟快的,因而开发倡议抉择一个长期保护并且稳固的版本,本次装置应用 3.2.8 版本的,相对来说保护周期长,比较稳定牢靠。

四、Django 装置和搭建

4.1 装置

      后面咱们曾经装置了 pyenv 因而装置 django 就会轻松很多,间接应用 pip 命令装置即可 (留神须要在下面的 project 目录外面应用 pip3 装置,否则默认应用零碎的 pip2 装置会有问题的)

装置实现之后,咱们须要在 pyenv 环境外面更新下数据库,就能够应用 django 的相干命令

pyenv   rehash

       实现之后咱们应用 django 相干命令会发现报错,想不到 sqlite3 相干的模块,这是因为 django 对 sqlite 有版本要求 (低版本 django 可能无),因为咱们还须要更新 CentOS7.3 下面的 sqlite 的版本

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

   因而咱们须要将零碎的 sqlite 更新到更高的版本 3.9 之后,本次更新到 3.36 版本,先去​​sqlite​​​官网下载对应的版本编译安,CentOS 抉择​​autoconf​​版本编译装置, 编译工夫依据零碎 CPU 性能而定

tar   zxvf    sqlite-autoconf-3360000.tar.gz

     装置胜利之后须要将零碎中默认的 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"   设置环境变量 

4.2 应用

     咱们能够看到 sqlite3 曾经更新到咱们高版本了,因而再运行 django 命令就没有任何问题了

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

进入到 HelloDjango 中咱们批改下 settings.py 文件中容许被拜访的主机,如果不批改默认只容许 127.0.0.1 本机回环地址,这对咱们 web 利用来说没有意义,因而咱们须要批改 ALLOWED\_HOSTS 默认容许的主机改为 ”*” 即可

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

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

      而后应用浏览器,在浏览器中输出咱们本机的地址加端口号 8000,即可实现拜访,装置搭建即到此为止。

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

退出移动版