今天在我的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 即可看到服务已经运行了。

转载请以链接形式标明本文地址 
本文地址:http://blog.csdn.net/kongxx/article/details/48229669

CentOS6设置Django开发环境的更多相关文章

  1. Pycharm搭建Django开发环境

    Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...

  2. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  3. 如何设置Java开发环境

    傻瓜式 设置Java开发环境 跟我来. 对与win7操作系统.有两种方法. 第一种: 1.下载JDK,完成安装. 2.右键我的电脑,选择属性,在左边找到高级系统设置左键单击打开,在高级选项中找到 环境 ...

  4. 升级设置win2008r2开发环境,遇到问题小结

    升级设置2008r2开发环境,是一般程序员经历的事情.许多从vs 2003,vs2005+sql2000+win2003过来,但是,时间推移,技术革新,64位的推行.架构的变化和强大.我们也只可以学习 ...

  5. 在 ubuntu18.04 中搭建 Django 开发环境

    在Ubuntu 18.04 安装 python3.pip3.pycharm,搭建 Django 开发环境. 1.安装 python3 pip3 sudo apt-get install python3 ...

  6. JDK1.7+eclipse 4.4(luna)+pydev4.4.5构建django开发环境

    最近一直用pycharm搞django学习,但是到2017年随着版本的不断更新,启动之慢,吃资源吃内存越来越严重.果然想找一个IDE替代品. 之前用java开发分布式WEB应用,用eclipse开了N ...

  7. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  8. Linux——Django 开发环境部署(一)

    Django 开发环境部署(一) 之所以 写这篇文章的原因在于django环境的确轻松搭建,之前Ubuntu上安装了,的确很轻松,但是后期我才知道随便做个环境出来很容易到了后面很麻烦,污 染了系统里的 ...

  9. pycharm下搭建django开发环境

    在一次偶然的机会中,了解到万精油语言python,发现其流行程度发展迅速,于是也开始学习起来,正题. 1.安装python,查阅一些相关的资料及周边的开发工具,我选择python2(2.7.11),注 ...

随机推荐

  1. Django笔记&教程 2-4 视图常用

    Django 自学笔记兼学习教程第2章第4节--视图常用 点击查看教程总目录 1 - shortcut 视图函数需要返回一个HttpResponse对象或者其子类对象. 不过很多时候直接手写建立一个H ...

  2. ECharts + jsp 图表

    ... <%@ page language="java" pageEncoding="UTF-8"%> <%@page import=&quo ...

  3. ELK 7.4.2 单机安装配置

    Java环境准备 JDK下载 https://www.oracle.com/technetwork/java/javase/overview/index.html [root@manager ~]# ...

  4. redis集群安装搭建

    vi redis-6379.conf   #包含通用配置 include "/usr/local/redis/conf/redis-common.conf" pidfile &qu ...

  5. JVM 是用什么语言写的?

    JAVA中就虚拟机是其它语言开发的,用的是C语言+汇编语言  基于此之上就是JAVA本身了  虚拟机只起到解析作用另外,JAVA并不比C语言慢,说JAVA慢一般是九十年代那时候的JAVA, 而现在 在 ...

  6. [atARC078F]Mole and Abandoned Mine

    注意到最终图的样子可以看作一条从1到$n$的路径,以及删去这条路径上的边后,路径上的每一个点所对应的一个连通块 考虑dp,令$f_{S,i}$表示当前1到$n$路径上的最后一个点以及之前点(包括$i$ ...

  7. [loj3331]选课

    考虑$P=0$,由于$T-\sum_{i=1}^{m}s_{i}\le 40$,因此一个第$i$个分类中最多得到$s_{i}+42$的学分,可以对每一类分别背包 暴力背包复杂度为$o(n^{2})$, ...

  8. 测试平台系列(80) 封装Redis客户端

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们编写了Redis ...

  9. 构建“元宇宙”,有哪些3D建模方式?

    "沉浸.3D世界.虚拟社交.虚拟购物",最近"元宇宙"的概念特别火.人们畅想通过AR/VR以及其他互联网技术,把现实世界的楼房街道.天气温度.人际关系等投射到虚 ...

  10. 花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

    本文所有内容均节选自<设计模式就该这样学> 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称&l ...