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 Tkinter简单布局实例教程
Sep 03 Python
简单介绍Python中的JSON模块
Apr 08 Python
Python实现在线音乐播放器
Mar 03 Python
Python2.7读取PDF文件的方法示例
Jul 13 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
Python3使用TCP编写一个简易的文件下载器功能
May 08 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Python集合set()使用的方法详解
Mar 18 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出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python中from module import * 的一个坑
2014/07/20 Python
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
python编程实现希尔排序
2017/04/13 Python
python抓取网页中链接的静态图片
2018/01/29 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
经济信息系毕业生自荐信范文
2014/03/15 职场文书
员工工作表现评语
2014/04/26 职场文书
机械操作工岗位职责
2014/08/08 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
复试通知单模板
2015/04/24 职场文书
秋菊打官司观后感
2015/06/03 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
python数字图像处理:图像的绘制
2022/06/28 Python