python virtualenv环境运行django

安装前准备

检查pip版本与python版本是否一致

[root@localhost bin]# whereis pip
pip: /usr/bin/pip /usr/bin/pip2.7

如果版本不一致,修改pip引用的版本

[root@localhost bin]# mv /usr/bin/pip /usr/bin/pip2.7.2
[root@localhost bin]# ln -s /usr/local/python3.5.2/bin/pip3.5 /usr/bin/pip

安装virtualenv

[root@localhost bin]# pip install virtualenv
Collecting virtualenv
Downloading virtualenv-15.0.2-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 465kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.0.2
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

创建运行环境

[root@localhost bin]# /usr/local/python3.5.2/bin/virtualenv ~/pythonproject/virtualenv/blog --no-site-packages
Using base prefix '/usr/local/python3.5.2'
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.

启动virtualenv

source activate

安装django

安装django

[root@localhost bin]# pip install django
Collecting django
Downloading Django-1.9.8-py2.py3-none-any.whl (6.6MB)
100% |████████████████████████████████| 6.6MB 70kB/s
Installing collected packages: django
Successfully installed django-1.9.8

创建django应用

(blog) [root@localhost blog]# cd ~
(blog) [root@localhost ~]# cd blog
-bash: cd: blog: No such file or directory
(blog) [root@localhost ~]# mkdir django
(blog) [root@localhost ~]# cd django/
(blog) [root@localhost django]# django-admin startproject blog
(blog) [root@localhost django]# cd blog/
(blog) [root@localhost blog]# tree
.
├── blog
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── settings.cpython-35.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py 2 directories, 7 files

运行django应用

(blog) [root@localhost blog]# python manage.py runserver

报这样一个异常

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f45d54ba488>
Traceback (most recent call last):
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 34, in <module>
from pysqlite2 import dbapi2 as Database
ImportError: No module named 'pysqlite2' During handling of the above exception, another exception occurred: Traceback (most recent call last):
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 36, in <module>
from sqlite3 import dbapi2 as Database
File "/usr/local/python3.5.2/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/python3.5.2/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named '_sqlite3' During handling of the above exception, another exception occurred: Traceback (most recent call last):
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
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 "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 665, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/contrib/auth/models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/contrib/auth/base_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/models/base.py", line 108, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/models/base.py", line 307, in add_to_class
value.contribute_to_class(cls, name)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/models/options.py", line 263, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/utils.py", line 212, in __getitem__
backend = load_backend(db['ENGINE'])
File "/root/pythonproject/virtualenv/blog/lib/python3.5/site-packages/django/db/utils.py", line 116, in load_backend
return import_module('%s.base' % backend_name)
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'

这是由于没有安装sqlite-devel所致。

  • 安装sqlite-devel: yum -y install sqlite-devel
  • cd ~/Python-3.5.2
  • 编译: ./configure --prefix=/usr/local/python3.5.2
  • 安装: make && make install

再次运行

(blog) [root@localhost blog]# python manage.py runserver
Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them. July 27, 2016 - 13:47:44
Django version 1.9.8, using settings 'blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

此时通过127.0.0.1可以访问,如果想非本机访问,可以在启动时添加相应的参数。如:

python manage.py runserver 0.0.0.0:8000

此时通过http://ip:8000能正常访问了。

django配置

数据库初始化

python manage.py migrate

创建超级用户,用于登录后台

(blog) [root@localhost blog]# python manage.py createsuperuser
Username (leave blank to use 'root'): root
Email address: test@test.com
Password:
Password (again):
Superuser created successfully.

此处账号为root,密码为:root1234。

此时可以通过,http://ip:8000/admin/ 访问后台。输入刚刚创建的用户名和密码即可成功登陆。

python virtualenv环境运行django的更多相关文章

  1. python virtualenv 安装运行saltstack

    需求产生场景:      1.python的virtualenv虚拟环境非常的好用.      2.saltstack作为运维自动化的一个重要组件也挺好用的. 但是:      1.saltsatck ...

  2. python virtualenv环境安装(ubuntu)

    测试系统ubantu16.04 该系统已经默认安装了python3.5, 当然了python2.7也同时存在着. 可以用如下命令安装pip(如下命令会默认安装pip到python2.7库中) $ su ...

  3. python命令行运行django项目, can't open file 'manage.py' 问题解决

     找到manage.py的绝对路径即可运行

  4. Python学习1:使用Aptana构建Python开发环境

    使用Aptana构建Python开发环境 下载Aptana: http://www.aptana.com/products/studio3/download http://www.newasp.net ...

  5. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  6. python 的 virtualenv 环境搭建及 sublime 手动创建运行环境

    一.安装 virtual env sudo pip install virtualenv二.进入一个空白的目录初始化 virtual env 的环境cd ~/workspace/python/virt ...

  7. python的virtualenv环境与使用

    1.安装virtualenv 在安装virtualenv之前,我们需要安装至少有一个版本的Python:因为virtualenv是python的一个第三方模块,必须基于python环境才能安装: 如果 ...

  8. Linux04 /创建虚拟环境、在linux环境运行Python项目

    Linux04 /创建虚拟环境.在linux环境运行Python项目 目录 Linux04 /创建虚拟环境.在linux环境运行Python项目 1. 大体流程 2. linux环境安装python3 ...

  9. PyCharm Django Python 开发环境配置 详细教程

    PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...

随机推荐

  1. 一些总结application和事务

    如果需要添加一个全局变量的话  放到application中,但是这个变量中的值要修改的话,必须重新设置application里的值,要不就得重启服务器. String SiteName = (Str ...

  2. [C#]如何使用ThreadPool

    摘要 线程池是一种多线程的形式,其中的任务被添加到队列中,并在创建线程时自动启动. 以下示例使用.Net框架的线程池来计算十个数字20和40之间的裴波那契的结果.裴波那契Fibonacci类,它提供了 ...

  3. 基本linux命令

    1.mkdir mkdir 创建目录   mkdir -p 循环创建目录 2.cd     切换目录 3.pwd   查看当前路径 4.mkdir 删除一个空的目录 5.cp 复制文件/目录  -r用 ...

  4. jQuery1.9.1源码分析--数据缓存Data模块

    jQuery1.9.1源码分析--数据缓存Data模块 阅读目录 jQuery API中Data的基本使用方法介绍 jQuery.acceptData(elem)源码分析 jQuery.data(el ...

  5. IIS7.5 在已有的WEB网站上配置FTP发布

    IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布. IIS ...

  6. python文件I/O(转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

  7. 湖南附中模拟day1 收银员

    4.1 题意描述花花家的超市是 24 小时营业的,现在需要招聘收银员.超市每个小时都需要不同数量的收银员,用 ai 表示一天中 i 点到 i + 1 点这一小时内需要的收银员数量,特别地 a23 表示 ...

  8. HDOJ 1576 A/B

    数论水题... A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. r8 - ASC 41(俄罗斯多校)

    1 今天干的俄罗斯的一场多校,被虐哭啊,就做出两题. 2 3 4 5 6 7 Gym 100496D Data Mining 8 题目讲得是给你一串数字,然后给你i,p,表示从第i开始,对这串数离散话 ...

  10. I’ve seen the world,lit it up as my stage now

    I've seen the world,lit it up as my stage now 阅尽繁华 点亮红尘做舞台 Channeling angels in,the new age now 粉末登场 ...