CentOS6.5设置Django开发环境
作者:kongxx 发布时间:2022-09-29 22:55:30
今天在我的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://www.kongxx.info/blog/?cat=35
猜你喜欢
- 请问如何处理Oracle中较大的文本数据?我们可在ASP中予以解决,如在Oracle8i中文版中,建立数据表:CREATE TABLE SY
- 0.摘要本文主要介绍numpy库中,csv文件中数据的写入和读取方式。1.文件写入与读取写入:import numpy as npa = n
- 视图是 MTV 设计模式中的 V 层,它是实现业务逻辑的关键层,可以用来连接 M 层与 T 层,起着纽带般的作用,在《Django MTV和
- 本文实例讲述了php 使用 __call实现重载功能。分享给大家供大家参考,具体如下:<?php/** * Created by Ph
- 最近写一个和二维列表有关的算法时候发现的当用max求二维列表中最大值时,输出的结果是子列表首元素最大的那个列表测试如下c=[[1,2,-1]
- 代码如下:< % '功能:显示数据库中表名、字段名、字段内容 '原创:wangsdong
- 1. SeriesSeries 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。1.1 下边生成一个最简单的Se
- chat.html <html> <head><title>asp之家-简单聊天&l
- 我用FSO生成了unicode的文件,但这不是我想要的。FSO可以生成utf-8格式编码的html文件吗?用什么办法才能生成?FSO的编码问
- 在开发一些需要网络通信的应用中,经常会用到各种网络协议进行通信,博主在开发实验室的机器人的时候就遇到了需要把机器人上采集到的图片传回服务器进
- 当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?建议此次课程大家稍作了解不要浪费太多时间,因为没有哪家公司会招聘以为
- 1.简介(torch.nn下的)卷积层主要使用的有3类,用于处理不同维度的数据参数 Parameters:in_channels(int)
- 最近项目使用c++操作Python脚本,选用boost.python库。在window下编译安装很顺利,但是在Linux下一直编译不通过,总
- 这篇文章讨论了Python的from <module> import *和from <package> import
- 前言gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用
- 比如有下面一段代码: for i in range(10): print ("%s" % (f_list[i].name
- python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了。不过网上的基础教程只告诉你列表、字典是什么
- 本文实例讲述了Python实现的径向基(RBF)神经网络。分享给大家供大家参考,具体如下:from numpy import array,
- 这个跟ping那个差不多,ping的那个脚本就是通过这个改了下,大体一致,不过telnet的不需要判断返回的字符串。快一些这里具体需要tel
- A.动态页面第一步:创建转向控制页面,创建网站默认的首页文件(通常为"index.asp"或"default.