CentOS6.5设置Django开发环境


Posted in Python onOctober 13, 2016

今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 “django-admin.py startproject myapp” 创建应用的时候报了下面的错误

$ django-admin.py startproject myapp
Traceback (most recent call last):
 File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>
 from django.core import management
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/__init__.py", line 1, in <module>
 from django.utils.version import get_version
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/version.py", line 7, in <module>
 from django.utils.lru_cache import lru_cache
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
 fasttypes = {int, str, frozenset, type(None)},
  ^
SyntaxError: invalid syntax

检查一下,发现是我机器上的 python 版本太老,CentOS6.5的 Python 是2.6.6,而最新的 django (1.8.4)要求的 Python 版本是2.7.x,本想着升级一下自己机器的 Python,又怕会对别的应用有影响,正犯愁呢,突然想到可以使用 Docker 来解决我碰到问题。下面就是我使用 Docker 搭建的 django 开发环境的步骤。

首先创建一个目录,用来存放 Docker 的配置文件,这里我就叫 django_env。

在 django_env 目录下创建一个 Dockerfile 文件,文件内容如下

FROM centos:centos7

MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install -y openssh-server sudo supervisor python-pip

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN echo "root:Letmein" | chpasswd

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd

RUN pip install django

RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisord.conf
 
EXPOSE 22 
CMD ["/usr/bin/supervisord"]

考虑到后面会在 Docker 里启动多个服务,所以还是用到了supervisor,创建一个 supervisord.conf 文件,内容如下

[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

在 django_env 目录下运行下面命令来生成容器镜像

sudo docker build -t django_env .

根据容器镜像生成容器

sudo docker run -v /home/kongxx/mywork:/data --name=test -d -P django_env

这里使用了 “-v /home/kongxx/mywork:/data”,目的是为了可以在宿主机器和容器中共享代码

容器生成后,可以使用 “sudo docker inspect test | grep IPAddress” 命令来查看容器的 IP 地址。然后使用 ssh 来登录这个容器

ssh root@<container_ip>

登录到容器后,我们就可以运行 django 命令来创建和启动应用了,如下

cd /data
django-admin.py startproject myapp
cd myapp
python manage.py runserver 0.0.0.0:8000

此时,在浏览器里访问 http://:8000 即可看到服务已经运行了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跨平台python异步回调机制实现和使用方法
Nov 26 Python
Python中__init__和__new__的区别详解
Jul 09 Python
Python数据结构之单链表详解
Sep 12 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
django settings.py 配置文件及介绍
Jul 15 Python
NumPy统计函数的实现方法
Jan 21 Python
TensorFLow 变量命名空间实例
Feb 11 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
Python判断某个用户对某个文件的权限
Oct 13 #Python
python使用str &amp; repr转换字符串
Oct 13 #Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 #Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 #Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 #Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 #Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 #Python
You might like
php获取系统变量方法小结
2015/05/29 PHP
PHP调用其他文件中的类
2018/04/02 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
Windows下python2.7.8安装图文教程
2016/05/26 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
中专自我鉴定
2014/02/05 职场文书
税务会计岗位职责
2014/02/18 职场文书
《穷人》教学反思
2014/04/08 职场文书
2014年新生军训方案
2014/05/01 职场文书
火箭队口号
2014/06/18 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
丽江古城导游词
2015/02/03 职场文书
十七岁的单车观后感
2015/06/12 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书