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中使用mysql数据库详细介绍
Mar 27 Python
python类和继承用法实例
Jul 07 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Python JSON编解码方式原理详解
Jan 20 Python
Python异常处理机制结构实例解析
Jul 23 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
Python中json.load()和json.loads()有哪些区别
Jun 07 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 CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
举例讲解Python中装饰器的用法
2015/04/27 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python实现的爬虫功能代码
2017/06/24 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
HTML5进度条特效
2014/12/18 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
喜之郎果冻广告词
2014/03/20 职场文书
调解协议书
2014/04/16 职场文书
大学生党员承诺书
2014/05/20 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
小学生成绩单评语
2014/12/31 职场文书
2019年入党思想汇报
2019/03/25 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python