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中lambda与def用法对比实例分析
Apr 30 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
浅谈python函数调用返回两个或多个变量的方法
Jan 23 Python
基于python历史天气采集的分析
Feb 14 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
python对文件的操作方法汇总
Feb 28 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
在keras中实现查看其训练loss值
Jun 16 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
python自动化发送邮件实例讲解
Jan 04 Python
基于PyTorch中view的用法说明
Mar 03 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
json跟xml的对比分析
2008/06/10 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
linux下安装easy_install的方法
2013/02/10 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
Python交互环境下实现输入代码
2018/06/22 Python
django序列化serializers过程解析
2019/12/14 Python
Python关于反射的实例代码分享
2020/02/20 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
路政管理毕业自荐书范文
2014/02/10 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android