Python Virtualenv运行Django环境配置

系统:
RHEL6.5
版本说明:
Python-3.5.0
Django-1.10.4
virtualenv:为每一个项目创建不一样的/独立的Python环境,你将为每一个项目安装全部须要的软件包到它们各自独立的环境中。python

python virtualenv运行django环境配置

安装python3.5

  1. 安装依赖包
yum install openssl-devel gcc zlib -y
  1. 下载python3.5安装包
wget http://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
  1. 编译 安装python3.5
    编译以前新建目录,以避免覆盖旧版本:
mkdir /usr/local/python3

解压编译安装:sql

tar -xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure --prefix=/usr/local/python3 
make && make install

安装完后面会显示:数据库

......
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.2

在3.5里面,就不用再手动去安装pip和setuptools了,自动安装django

  1. 修改版本
    将旧版本备份:
mv /usr/bin/python /usr/bin/python2

创建新版本的python连接和pip连接:bootstrap

ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
  1. 验证
[root@django2 ~]# python -V
Python 3.5.0

引起的问题
yum使用报错:vim

[root@django2 ~]# yum install vim -y
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

解决方案
修改/usr/bin/yum第一行以下:api

#!/usr/bin/python2

安装virtualenv并建立运行环境

  1. 安装
pip install virtualenv
  1. 建立运行环境
[root@django2 ~]# virtualenv ~/pythonproject/virtualenv/blog --no-site-packages
Using base prefix '/usr/local/python3'
New python executable in /root/pythonproject/virtualenv/blog/bin/python3.5
Also creating executable in /root/pythonproject/virtualenv/blog/bin/python
Installing setuptools, pip, wheel...done.
  1. 运行
[root@django2 bin]# pwd
/root/pythonproject/virtualenv/blog/bin
[root@django2 bin]# source activate
(blog) [root@django2 bin]#

出现前面的(blog)则运行成功!浏览器

安装django

  • pip安装django最新版本
(blog) [root@django2 ~]# pip install django

建立django应用

  • 进入virtualenv创建的环境建立项目与应用:
(blog) [root@django2 blog]# pwd
/root/pythonproject/virtualenv/blog
(blog) [root@django2 blog]# django-admin startproject cherry04
(blog) [root@django2 blog]# cd cherry04/
(blog) [root@django2 cherry04]# django-admin startapp blog

cherry04:项目名
blog:应用名session

运行django应用

  1. 试运行
(blog) [root@django2 cherry04]# python manage.py runserver
.......
  File "/root/pythonproject/virtualenv/blog/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 39, in <module>
    raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)
django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named '_sqlite3'

出现如上报错,没有sqlite3这个模块app

  1. 退出virtualenv环境,安装sqlite3模块
(blog)[root@django2 bin]# pwd
/root/pythonproject/virtualenv/blog/bin
(blog) [root@django2 bin]# deactivate
[root@django2 Python-3.5.0]# pwd
/root/Python-3.5.0 
[root@django2 Python-3.5.0]# ./configure --prefix=/usr/local/python3 
[root@django2 Python-3.5.0]# make && make install

这个错误若是能在一开始避免最好,后面就不用再从新编译安装了
注:
sqlite:是很是著名的开源嵌入式数据库软件,它能够嵌入到其余程序中使用,而且提供SQL接口用来查询,很是方便
pysqlite: 是一个 sqlite 为 Python 提供的 api 接口,它让一切对于 sqlite 的操做都变得异常简单
可是从python2.5版本之后,pysqlite就已经被包含到标准库中,只须要安装sqlite3便可,但以前的版本则须要两个都安装,不然会报错

  1. 再次运行测试
[root@django2 bin]# pwd
/root/pythonproject/virtualenv/blog/bin
[root@django2 bin]# source activate
(blog) [root@django2 cherry04]# python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 13 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 18, 2016 - 20:43:42
Django version 1.10.4, using settings 'cherry04.settings'
Starting development server at http://127.0.0.1:8000/
  • 由于我这里是在虚拟机中配置的,若想在物理机的浏览器中访问,则运行时执行:
python manage.py runserver 0.0.0.0:8000

环境配置至此完成!Good luck!

本文为原创,转载请注明出处

相关文章
相关标签/搜索