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还可以结合使用,我们实际项目里是这样的,既解决了打包问题还一定程度上加密了代码。
python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...相关推荐
- Python免安装环境(Windows)
Python免安装环境(Windows) Python环境完全可以做到免安装,统一版本 到官网下载嵌入版python:这里下载python39 安装pip:下载脚本:https://bootstrap ...
- Linux环境下的LD_PRELOAD:库预加载
LD_PRELOAD详解 RToax 2020年9月 1. LD_PRELOAD的作用 系统在运行过程中,会首先加载该环境变量指定的函数库(在libc.so之前加载),如果函数库内包含了程序中执行的函 ...
- Vue ant打包服务器-并配置【nginx子路径+linux环境】跨域解决+jenkins自动部署
1.起初 害!最近把之前用JQ做的前端页面,换成了用vue写,所以再将vue项目放在服务器上运行时,就折腾了一下,稍微麻烦了点,索性就记录下把 2.环境 a.前端是用Vue Ant Design(版本 ...
- Linux环境下gcc编译链接库-lz -lrt -lm -lc都是什么库?
编译链接库:-lz -lrt -lm -lc都是什么库 -lz 压缩库(Z) -lrt 实时库(real time):shm_open系列 -lm 数学库(math) -lc ...
- 如何在虚拟linux环境运行python_Conda(Python)虚拟环境不能从Windows移植到Linux
在我的Windows 10计算机上,我使用以下命令创建了一个虚拟环境:>conda env export > environment.yml 我尝试在Windows系统上使用yml文件重新 ...
- 如何在虚拟linux环境运行python_linux下使用virtualenv虚拟独立python环境
virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题. 一.安装virtualenv virtualenv实际上是一个pyth ...
- 【Shell脚本进阶】从此彻底搞懂 Linux 环境变量及 Shell 启动文件 /etc/profile 、 ~/.bash_profile 和 ~/.bashrc(建议收藏)
文章目录 1. 环境变量详解 1.1 全局环境变量 1.2 本地环境变量 1.3 自定义环境变量 1.3.1 自定义本地环境变量 1.3.2 自定义全局环境变量 1.4 删除环境变量 2. 启动文件详 ...
- electron打包在linux环境运行,通过Electron基于网页版打包Linux端飞书(Electron-Lark)...
在Linux系统下使用飞书,可使用下面提供的通过Electron基于网页版打包的Linux端飞书(Electron-Lark),提供deb和tar.xz包下载,支持Deepin.Ubuntu等版本. ...
- 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 ...
最新文章
- linux 更改服务的启动顺序
- Android Studio 出现 Gradle's dependency cache may be corrupt 解决办法
- 北京租房一个月多少钱?数据带你了解北京8月各区租金情况
- 【机器学习】特征降维-主成分分析
- 1223. Chernobyl’ Eagle on a Roof(dp)poj3783
- 使用Kotlin的Android AsyncTask
- 运气真不错:3月取到的TeaVM恰好能够运行,之前之后都有问题
- java获取登录内网ip地址
- Linux部署启动服务脚本
- Java截取视频第一帧
- Codeforces_(A).Array
- HyperLedger-Fabric v0.6环境搭建详细教程
- DLKcat开发细则(自用)
- 微信小程序手机号绑定功能(登录后绑定)
- java三层架构实现登录_用户登录——三层架构
- 很好用的程序员在线画图软件
- C语言 最佳情侣身高差
- LaTex 插入图片技巧
- 2020-CIKM-DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation
- 【读书1】【2017】MATLAB与深度学习——代价函数与学习规则(4)