Python环境搭建、python项目以docker镜像方式部署到Linux

时间:2024-05-24 20:06:20

Python环境搭建、python项目以docker镜像方式部署到Linux

本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程:

原文链接:https://msd.misuland.com/pd/3065794831805579512

1、windows中Python环境搭建以及pycharm的安装和配置,用以开发Python项目

这个其实很简单,我从网络上找了一些资源,以下是截图(这块是转的)

(一).python环境的搭建

(1).下载python(这里以python3.6为例)

step 1:打开下载网址:https://www.python.org/downloads/windows/

step 2:我这里选着python3的版本

step 3:选择python的可执行文件安装包

(2).安装python(这里以python3.6为例)     step 1:下载完成后就可以安装了,基本傻瓜式安装,不过要强调几点,如下图(python3.6已经可以自动添加环境变量                     如果你要安装python2那么你手动配置环境变量,具体方法自行百度,这里不做赘述!)

step 2:安装完成后,我们来检查一下python是否安装成功,打开cmd命令,输入python,回车,若显示类似下图,证明环境搭建完成。

step 3:测试输出hello world,从开始菜单打开python自带的IDE,输入如下代码,然后回车。

至此,我们的python环境搭建完成。

(二).pycharm的安装与配置

(1).pycharm的下载

step 1:打开下载网址:http://www.jetbrains.com/pycharm/

step 2:点击下载按钮。

step 3:专业版是收费的,社区版是免费的,并且社区版新手使用足够,我们这里下载社区版。

(2).pycharm的安装

pycharm的安装依然是傻瓜化安装,基本一路next,这里只强调一点

step 2:接下来是一些按照顺序摆放的配置图片。完成pycharm的基本配置

(4).pycharm的python解释器的搭建

同样,接下来是一些按照顺序摆放的配置图片。完成pycharm的python解释器的搭建

(5).pycharm的建立一个新项目

首先打开pycharm,接下来是一些按照顺序摆放的配置图片。完成pycharm的一个项目创建。

至此,pycharm已经全部安装完成。

pycharm中安装组件的方法:

Python中安装bs4后,pycharm报错ModuleNotFoundError: No module named 'bs4'

如果此时使用pycharm执行代码,在引用bs4 “frombs4 import BeautifulSoup”时还会报错“ModuleNotFoundError: Nomodule named 'bs4'.” 未找到名为bs4的模块,这时需要在Pycharm上安装bs4模块来解决,解决方法如下: 1.    File– Setting

Project:Python – Project Interperter

在该页面下会显示执行项目默认的python版本,如图我设置的python版本是python3.6;

还会显示在pycharm上安装的模块,如果执行项目时报错“找不到bs4”,应该是不会显示bs4这个模块的,我安装过,所以会显示。

Install

点击界面右侧的+号,可以打开安装模块界面,在该界面下可以直接搜索并安装相应模块,输入bs4,搜索到对应结果,选择安装模块。

安装完成

安装完成后在界面下方会提示“Package‘bs4’ install successfully”

2、Linux中Python3环境搭建

下载与解压,我这边对应的Python项目所需要的版本,装的是3.7.2

[root@localhost ~]#wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[root@localhost ~]#tar -xzvf Python-3.7.2.tgz 

然后重命名解压后的文件夹为python3

Python环境搭建成功

3、Python项目Dockerfile准备

我的Python项目结构如下:

平时在pycharm里面运行该工程,只要直接运行job.py文件即可。目标是把Python项目放到Linux系统,以docker镜像方式使用容器启动。

4、cmd进入py项目目录,通过pip命令,生成整个Python项目所需要的环境的包放到requirements.txt

#在当前目录把Python所依赖的组件,列在requirements.txt文件中
pip freeze > requirements.txt

生成后的requirements.txt内容如下:

5、建立上传到Linux系统的目录,含有原py项目目录,以及Dockerfile

我的做法是,是在workspace中,建一个专门的目录docker_py

进入docker_py,可以看到py项目和Dockerfile文件,py项目是拷贝过来的

然后把docker_py目录打zip包,上传至Linux,至于Dockerfile的内容,建议不要在windows编辑,因为在windows编辑,会带有windows的符号,直接在Linux在编辑,或者整个Dockerfile文件也在Linux环境在通过touch方式建立,再编写也OK。

通过命令

rz

上传  docker_py.zip  到 /data/docker/py_app 目录,然后把zip解压到当前目录

unzip docker_py.zip

进入docker_py,编写Dockerfile内容

#基于的基础镜像
FROM python:3.7 #代码添加到code文件夹,后面可以通过进入容器中看的
ADD ./py /code # 设置code文件夹是工作目录
WORKDIR /code # 安装支持
RUN pip install -r requirements.txt #当容器启动时,使用python3执行指定路径的py脚本
CMD ["python3", "/code/venv/Include/job.py"]

6、Linux中把Dockerfile生成镜像

Linux进入docker_py目录,然后docker方式生成镜像

# py_app为创建的镜像名称,. 表示以当前目录的内容生成(docker_py)
docker build -t py_app:2 .

看到上面截图,则镜像构建成功,我们校验一下:

docker images

看到py_app镜像已经成功了

7、Linux中docker_compose方式执行镜像,到Python项目跑起来

进入py_app目录,新建 docker-compose.yml 文件

py:
image: py_app:2
ports:
- "8090:9060"
restart: always

docker-compose.yml编排文件中,image需要与前面构建的镜像名称和版本一致,然后启动项目

[root@localhost py_app]# docker-compose up -d py

至此,搞定了

8、解释下前面Dockerfile设定的工作目录,可以进入容器看

根目录即是code了