如何将一整个python工程打包

Python013

如何将一整个python工程打包,第1张

1、下载并安装py2exe,可下载最新版本。

2、编写安装脚本,比较简单,不过多解释,如下:

Screenshot_setup.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from distutils.core import setup

import py2exe

includes = ["encodings", "encodings.*"]

data_files = ['CameraDll.dll']

options = {"py2exe":

{ "compressed": 1,

"optimize": 2,

"bundle_files": 1,

"includes": includes

}

}

setup(

version = "1.0",

description = "Screenshot Tool",

name = "Screenshot Tool",

options = options,

zipfile=None,

data_files = data_files,

console=[{"script": "Screenshot.py", "icon_resources": [(1, "Screenshot.ico")] }]

)

各参数含义见第5小节或执行python命令行下执行help(py2exe)查看。

3、打包程序:

a、将要找包的程序、文件和打包脚本放在同一目录下,如下:

E:\tmp\pyexe_tmp>tree /F

文件夹 PATH 列表

卷序列号码为 0007F240 101F:F68D

E:.

CameraDll.dll

screenshot.ico

Screenshot.py

screenshot_setup.py

没有子文件夹

E:\tmp\pyexe_tmp>

b、执行打包脚本:

E:\tmp\pyexe_tmp>python screenshot_setup.py py2exe

python screenshot_setup.py py2exe

running py2exe

creating E:\tmp\pyexe_tmp\build

creating E:\tmp\pyexe_tmp\build\bdist.win32

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\collect-2.6

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\bundle-2.6

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\temp

creating E:\tmp\pyexe_tmp\dist

*** searching for required modules ***

*** parsing results ***

*** finding dlls needed ***

*** create binaries ***

*** byte compile python files ***

writing byte-compilation script 'e:\tmp\tmp1ecbcw.py'

动态加载的数据都是用户通过鼠标或键盘执行了一定的动作之后加载出来的。所以我们通过提供的工具调用本地的浏览器,让程序替代人的行为,滚动页面,点击按钮,提交表单等等。从而获取到想要的数据。所以我认为,使用s方法爬取动态页面的中心思想是模拟人的行为。对于简单的有限爬取任务,若可以通过代码模拟逻辑,首选这种方案,例如,在搜索引擎中,翻页这个动作是靠js触发的.模拟似乎还是很难,然后我注意到他页面的第二个,似乎后就可以翻页,试了一下果然如此.

1.安装docker服务:

centos 下直接yum安装

yum install docker

2.修改docker仓库地址为国内:

3.编写Dockerfile, 如下:

4.制作镜像:

docker build -f Dockerfile -t blogapp:1.0 .

ps:

最后一个参数是.号,别忘了加

制作镜像可能是一个漫长的过程。。。

途中有问题会中止,需要检查问题并修改Dockerfile,然后重新开始。。。

5.查看制作的镜像:

docker images

6.运行镜像,创建镜像实例,即运行容器:

docker run -it -p 192.168.5.109:8080:8888 blogapp:1.0

可以看到,项目已经正常开启,浏览器可以正常访问:

7.导出镜像为tar包:

docker image save -o blogapp.tar blogapp:1.0

8.在新机导入tar包为镜像:

docker load < blogapp.tar

9.查看新导入的镜像:

10.在新机运行镜像,后台开启容器:

docker run -it -p 192.168.5.110:8080:8888 blogapp:1.0

可以看到后台开启成功,浏览器访问新址: