python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...

方案一: 用Docker,可以自己制作一个装有Python3的环境,一个例子Dockerfile:

FROM ubuntu:latest

MAINTAINER user

ENV TIME_ZONE Asia/Shanghai

ENV APP_USER="root" \

APP_HOME="/opt" \

COPY ./conf/sources.list /etc/apt/sources.list

COPY ./python3_pkg.txt /tmp

RUN Deps='python3-pip tzdata net-tools ' \

&& export DEBIAN_FRONTEND=noninteractive \

&& apt-get clean \

&& apt-get update \

&& apt-get install -y $Deps \

#设置时区

&& echo "${TIME_ZONE}" > /etc/timezone \

&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \

#安装python3包

&& pip3 install -r /tmp/python3_pkg.txt \

&& rm /tmp/python3_pkg.txt \

&& rm -rf /var/lib/apt/lists/* \

&& rm -rf /root/.cache

EXPOSE 80/tcp

ENV LANG C.UTF-8

ENV LC_ALL C.UTF-8

COPY ./entrypoint.sh /sbin/entrypoint.sh

VOLUME ["/var/log","${APP_HOME}"]

ENTRYPOINT ["/sbin/entrypoint.sh"]

CMD ["app:start"]

这是我们实际项目的一个Dockerfile(有删减).

把需要安装的Python库名字,放到一个python3_pkg.txt文件里面

例如:

arrow

pycrypto==2.6.1

aliyun-python-sdk-core-v3

tornado

然后,可以把你运行的Python代码影射进去,这样就得到一个带有库的通用Python环境,这个Docker 容器可以在Linux、MacOSX、Windows下得到一样的运行环境。直接分发,打包好了,不在需要用户安装任何东西,除了Docker。目前我们自己写的Python都是这样部署的,客户只要安装了Docker,其他都不用做了。

方案2:用cython,可以把你的代码编译成一个linux下面的可执行文件,可以把第三方库都打包进去,最后只有一个文件,类似windows上面的EXE, 唯一需要依赖的是Python的so.如:libpython3.6m.so. 具体怎么做搜cython吧。很容易使用。

方案1和方案2还可以结合使用,我们实际项目里是这样的,既解决了打包问题还一定程度上加密了代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值