Python Virtualenv运行Django环境配置
系统:
RHEL6.5
版本说明:
Python-3.5.0
Django-1.10.4
virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各自独立的环境中。
python virtualenv运行django环境配置
安装python3.5
- 安装依赖包
yum install openssl-devel gcc zlib -y
- 下载python3.5安装包
wget http://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
- 编译 安装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了,自动安装
- 修改版本
将旧版本备份:
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
- 验证
[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并创建运行环境
- 安装
pip install virtualenv
- 创建运行环境
[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.
- 运行
[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应用
- 试运行
(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这个模块
- 退出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即可,但之前的版本则需要两个都安装,否则会报错
- 再次运行测试
[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环境配置的更多相关文章
- 最优Django环境配置
2 最优Django环境配置 本章描述了我们认为对于中等和高级Django使用者来说最优的本地环境配置 2.1 统一使用相同的数据库引擎 一个常见的开发者错误是在本地开发环境中使用SQLite3,而在 ...
- Django环境配置
Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...
- 创建 Python Virtualenv 虚拟隔离环境
video:创建 Python Virtualenv 虚拟隔离环境 python 虚拟环境 venv 简单用法 - littlemore - 博客园 创建 Python Virtualenv 虚拟隔离 ...
- Django之在Python中调用Django环境
Django之在Python中调用Django环境 新建一个py文件,在其中写下如下代码: import os if __name__ == '__main__': os.environ.setdef ...
- Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安 ...
- 如何用Python做Web开发?——Django环境配置
用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做“全栈”(full stack ...
- Nginx+uWSGI+Django环境配置
通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...
- celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)
一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...
- 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)
环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...
随机推荐
- mybatis-generator 1.3.5支持流式 fluent 方法
在以往的无数此写model的过程中,大家都会烦恼model的set方法写一堆.比如 Person p = new Person(); p.setName("name"); p.se ...
- BZOJ2730: [HNOI2012]矿场搭建
传送门 图的连通性相关的必和割点割边之类的有关. 题目要求对于一个无向图,任意一点被删除后,所有点都和某些指定点是联通的. 这道题比较简单的做法就是求出来所有的块.对于一个块,如果块里有两个及两个以上 ...
- React.js入门笔记(再续):评论框的实现
本案例来自React.js中文官网对应内容. 一. 运行环境 <link rel="stylesheet" type="text/css" href=&q ...
- MVC防止xss攻击 ——Html.AntiForgeryToken的AJAX提交
1.在Html表单里面使用了@Html.AntiForgeryToken()就可以阻止CSRF攻击. 2.相应的我们要在Controller中也要加入[ValidateAntiForgeryToken ...
- 初识pipeline
1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客人A来到柜台,客人B紧随其后,客人C排在客人B后面,客人D排在客人C后面,客人E排在客人D后面,一直排到店面 ...
- js原生dom方法总结
1.document document方法getElementById (Node)返回指定节点的引用getElementsByTagName (NodeList)返回文档中所有匹配元素的集合quer ...
- mkdir创建目录
mkdir:make directories(创建目录) 创建目录的首要条件:在当前目录或者欲创建目录下,该用户具有写入权限,mkdir详细功能如下: 1.mkdir不接任何参数时,即mkdir di ...
- __run_timers() -- 处理全部超时定时器
__run_timers() -- 处理全部超时定时器 run_timer_softirq() --> __run_timers() /usr/src/linux-/kernel/timer.c ...
- jq添加数组
var array=new Array(); array.push(值); //向数组中添加值 array.shift(值);//向数组中移除值
- 预处理命令[#define]说明
宏定义 宏定义是对一些常见的变量.字符串等进行定义,被定义的数据在编译会进行自动替换.有时一些变量或字符串被多次使用,当需要修改时,就需要对源文件中它们出现的地方一一修改,效率比较低,而通过宏定义,只 ...