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学习笔记:字典的使用示例详解
Jun 13 Python
跟老齐学Python之正规地说一句话
Sep 28 Python
python根据文件大小打log日志
Oct 09 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
python爬取亚马逊书籍信息代码分享
Dec 09 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
Oct 16 Python
python生成带有表格的图片实例
Feb 03 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
Python表达式的优先级详解
Feb 18 Python
pandas 强制类型转换 df.astype实例
Apr 09 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 使用post,get的一种简洁方式
2010/04/25 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
PHP中“=&gt;
2019/03/01 PHP
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python reverse反转部分数组的实例
2018/12/13 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
pygame实现飞机大战
2020/03/11 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
浅谈Vue的computed计算属性
2022/03/21 Vue.js
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android