zoukankan      html  css  js  c++  java
  • 2020系统综合实践 第5次实践作业

    1、自定义python文件

    1.1项目结构

    1.2配置文件
    Dockerfile
    FROM python:3
    MAINTAINER sayoko
    WORKDIR /app
    COPY ./requirements.txt /requirements.txt
    RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple  #修改源并安装依赖
    ENTRYPOINT ["python"]
    CMD ["hello.py"] #默认打开文件
    
    requirements.txt
    PyMySQL
    
    opencv-python
    
    1.3构建python镜像

    sudo docker build -t python:mypy .

    2、完成简单的部署运行

    2.1 hello world
    hello.py
    print("hello world")
    

    sudo docker run -v /home/ubuntu/docker-py/app:/app --rm python:mypy1

    2.2日历输出
    date.py
    import calendar
    yy = int(input("输入年份: "))
    mm = int(input("输入月份: "))
    print(calendar.month(yy,mm))
    

    sudo docker run -it -v /home/ubuntu/docker-py/app:/app --rm python:mypy1 date.py

    2.3mysql数据库

    找到之前的数据库镜像,运行容器,进入并授予账号特权。

    db.py
    import pymysql
    
    #打开数据库连接,localhost替换成ip地址,后面依次是用户名,密码,数据库名
    db = pymysql.connect("172.22.0.1","sayoko","123456","docker_mysql" )
    
    #使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
    
    #使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
    
    #使用预处理语句创建表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,  
             SEX CHAR(1),
             INCOME FLOAT )"""
    
    cursor.execute(sql)
    
    #关闭数据库连接
    db.close()
    

    sudo docker run -v /home/ubuntu/docker-py/app:/app --rm python:mypy1 db.py

    2.4opencv
    opencv.py
    #仿射变换
    import cv2
    import numpy as np
    img = cv2.imread('a.jpg')
    rows,cols,ch = img.shape
    pts1 = np.float32([[50,50],[200,50],[50,200]])
    pts2 = np.float32([[10,100],[200,50],[100,250]])
    M = cv2.getAffineTransform(pts1,pts2)
    dst = cv2.warpAffine(img,M,(cols,rows))
    #写入文件
    cv2.imwrite("a_new.jpg", dst, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
    

    sudo docker run -v /home/ubuntu/docker-py/app:/app --rm python:mypy1 opencv.py

    3错误以及解决方法

    构建镜像的时候命名了,但是出现的是none

    解决办法 再改一下名字

    连接数据库的时候也遇到了一些错误(但是忘记截图了……,然后最后尝试着用不同的方法解决了(真的有点忘了,以后一定要做完就写博客!!

    用时一个下午+拖延症隔了无数天后的某个上午写博客

  • 相关阅读:
    HBASE学习笔记(一)
    模板:循环数据库表
    where(泛型类型约束)
    如何很好的使用Linq的Distinct方法
    Sql自定义表类型批量导入数据
    Linq select 语法
    JTemplate学习(四)
    JTemplate学习(三)
    JTemplate学习(二)
    正则表达式学习
  • 原文地址:https://www.cnblogs.com/sayoko/p/12934059.html
Copyright © 2011-2022 走看看