系统:

RHEL6.5

版本说明:

Python-3.5.0

Django-1.10.4

virtualenv:为每个项目建立不同的/独立的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

解压编译安装:

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了,自动安装

  1. 修改版本

    将旧版本备份:
mv /usr/bin/python /usr/bin/python2

建立新版本的python链接和pip链接:

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使用报错:

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

解决方案

修改/usr/bin/yum第一行如下:

#!/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:应用名

运行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这个模块

  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!

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

Python Virtualenv运行Django环境配置的更多相关文章

  1. 最优Django环境配置

    2 最优Django环境配置 本章描述了我们认为对于中等和高级Django使用者来说最优的本地环境配置 2.1 统一使用相同的数据库引擎 一个常见的开发者错误是在本地开发环境中使用SQLite3,而在 ...

  2. Django环境配置

    Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...

  3. 创建 Python Virtualenv 虚拟隔离环境

    video:创建 Python Virtualenv 虚拟隔离环境 python 虚拟环境 venv 简单用法 - littlemore - 博客园 创建 Python Virtualenv 虚拟隔离 ...

  4. Django之在Python中调用Django环境

    Django之在Python中调用Django环境 新建一个py文件,在其中写下如下代码: import os if __name__ == '__main__': os.environ.setdef ...

  5. Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解

    跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安 ...

  6. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手.     概念 最近有个词儿很流行,叫做“全栈”(full stack ...

  7. Nginx+uWSGI+Django环境配置

    通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...

  8. celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)

    一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...

  9. 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)

    环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...

随机推荐

  1. 【BZOJ-4380】Myjnie 区间DP

    4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: ...

  2. Scrum Meeting 20161207

    本周Sprint Master 史少帅 会议概要 工作总结: · 陈双: 等待BHB的下载录音文件的接口,再在服务器端存储录音材料 · 王永超: 打分功能单独测试正确,但合并到项目时出现错误,待解决 ...

  3. supermap布局设定地图网格及布局网格

    地图网格设定 LayoutElements elements = m_mapLayoutControl.MapLayout.Elements; //构造GeoMap GeoMap geoMap = n ...

  4. 博文Contents<1--到200—>

    ====================-------------- 前言:博客中的随笔文章.并非都是笔者的原创文章.有些是听别人说的.有些是书上摘录的.有些是百度的.有些是别人博客的文章.有些是自己 ...

  5. 【原创】PageAdminCMS 前台SQL注入漏洞(2)

    之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了. 文章作者:rebeyond 受影响版本:V3.0 漏 ...

  6. mybatis:choose when otherwise标签

    choose标签是按顺序判断其内部when标签中的test条件是否成立,如果有一个成立,则 choose 结束. 当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的 ...

  7. 2MyBatis入门--深入浅出MyBatis技术原理与实践(笔记)

    什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...

  8. Linux各个目录的作用及内容

    1)根目录“/”    根目录位于目录结构的最顶层,用斜线(/)表示,类似于Windows操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件. 2)/bin    /bin 目录又称为二 ...

  9. HDU 2296 Ring -----------AC自动机,其实我想说的是怎么快速打印字典序最小的路径

    大冥神的代码,以后能贴的机会估计就更少了....所以本着有就贴的好习惯,= =....直接贴 #include <bits/stdc++.h> using LL = long long ; ...

  10. Javascript设计模式学习三(策略模式)

    定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换.目的:将算法的使用和算法的实现分离开来.比如: if(input == 'A'){ return 1; } if(input == ...