方案一: 用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还可以结合使用,我们实际项目里是这样的,既解决了打包问题还一定程度上加密了代码。

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

  1. Python免安装环境(Windows)

    Python免安装环境(Windows) Python环境完全可以做到免安装,统一版本 到官网下载嵌入版python:这里下载python39 安装pip:下载脚本:https://bootstrap ...

  2. Linux环境下的LD_PRELOAD:库预加载

    LD_PRELOAD详解 RToax 2020年9月 1. LD_PRELOAD的作用 系统在运行过程中,会首先加载该环境变量指定的函数库(在libc.so之前加载),如果函数库内包含了程序中执行的函 ...

  3. Vue ant打包服务器-并配置【nginx子路径+linux环境】跨域解决+jenkins自动部署

    1.起初 害!最近把之前用JQ做的前端页面,换成了用vue写,所以再将vue项目放在服务器上运行时,就折腾了一下,稍微麻烦了点,索性就记录下把 2.环境 a.前端是用Vue Ant Design(版本 ...

  4. Linux环境下gcc编译链接库-lz -lrt -lm -lc都是什么库?

    编译链接库:-lz -lrt -lm -lc都是什么库 -lz      压缩库(Z) -lrt     实时库(real time):shm_open系列 -lm     数学库(math) -lc ...

  5. 如何在虚拟linux环境运行python_Conda(Python)虚拟环境不能从Windows移植到Linux

    在我的Windows 10计算机上,我使用以下命令创建了一个虚拟环境:>conda env export > environment.yml 我尝试在Windows系统上使用yml文件重新 ...

  6. 如何在虚拟linux环境运行python_linux下使用virtualenv虚拟独立python环境

    virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题. 一.安装virtualenv virtualenv实际上是一个pyth ...

  7. 【Shell脚本进阶】从此彻底搞懂 Linux 环境变量及 Shell 启动文件 /etc/profile 、 ~/.bash_profile 和 ~/.bashrc(建议收藏)

    文章目录 1. 环境变量详解 1.1 全局环境变量 1.2 本地环境变量 1.3 自定义环境变量 1.3.1 自定义本地环境变量 1.3.2 自定义全局环境变量 1.4 删除环境变量 2. 启动文件详 ...

  8. electron打包在linux环境运行,通过Electron基于网页版打包Linux端飞书(Electron-Lark)...

    在Linux系统下使用飞书,可使用下面提供的通过Electron基于网页版打包的Linux端飞书(Electron-Lark),提供deb和tar.xz包下载,支持Deepin.Ubuntu等版本. ...

  9. Kettle【部署 01】Linux环境 CentOS 7.5 安装配置 Kettle pdi-ce-8.3.0.0-371 及脚本调用方法实例(含安装包云盘资源1.38G+Demo源码)

    绿色安装包: pdi-ce-8.3.0.0-371.zip (1.38G) 链接:https://pan.baidu.com/s/12Blwc0Tl5qDM2dY5RW32IQ 提取码:mn0d Ke ...

最新文章

  1. linux 更改服务的启动顺序
  2. Android Studio 出现 Gradle's dependency cache may be corrupt 解决办法
  3. 北京租房一个月多少钱?数据带你了解北京8月各区租金情况
  4. 【机器学习】特征降维-主成分分析
  5. 1223. Chernobyl’ Eagle on a Roof(dp)poj3783
  6. 使用Kotlin的Android AsyncTask
  7. 运气真不错:3月取到的TeaVM恰好能够运行,之前之后都有问题
  8. java获取登录内网ip地址
  9. Linux部署启动服务脚本
  10. Java截取视频第一帧
  11. Codeforces_(A).Array
  12. HyperLedger-Fabric v0.6环境搭建详细教程
  13. DLKcat开发细则(自用)
  14. 微信小程序手机号绑定功能(登录后绑定)
  15. java三层架构实现登录_用户登录——三层架构
  16. 很好用的程序员在线画图软件
  17. C语言 最佳情侣身高差
  18. LaTex 插入图片技巧
  19. 2020-CIKM-DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation
  20. 【读书1】【2017】MATLAB与深度学习——代价函数与学习规则(4)

热门文章

  1. PyTorch算法加速指南
  2. 李航「机器学习」最全综述
  3. Nature指数发榜:中科院总榜夺冠,北大、清华列学术机构Top 10
  4. 【每日一算法】重排链表
  5. 用Python如何查快递?
  6. 百面机器学习之经典算法
  7. 存储器里面的一个采用直接映射方式的32KB缓存-一个四路组相连的缓存,容量为16KB
  8. 深度学习 Optimizer 梯度下降优化算法总结
  9. 使用关键点进行小目标检测
  10. 用局部条件图集建模三维曲面流形