[问题] python新手,想请教发布程式问题大哉问

楼主: shou666 (shou666)   2020-03-11 14:00:09
大家好
对python是全新手,语法等等网络上有许多资源可以K
但一些问题找不到方向,想请大家指引一下
以一个例子来说,假设我写好一个helloworld.py,
单机执行没问题了,
也准备好一个实际的server,准备当成正式环境,假设是台unix server好了,python假设
也装好了
server位于内网中无对外网络
首先是编译问题
发布出去一般都是发布.py这个档案吗?目前我只会python xxx.py的执行方式所以才有此
一问
打包问题:
假设我开发过程pip安装了一些套件,我该如何将这些套件连同程式打包起来?
以java来说有打包jar的流程,然后复制jar到其他机器上执行,python上这个流程是什么
呢?主要是因网络问题,不太可能什么事情都pip安装,是否有自行复制套件到主机上的
方式?
目前找到的资源大多是语法,或是哪些套件好用,缺乏这方面的资讯,加上发布关键字查
到的直接跳到docker,cicd的部署对我又跑太快,再麻烦大家指引一下了,谢谢
作者: Hsins (翔)   2020-03-11 14:46:00
就是把 Python Script 放到 server 上 run 他。Python 是直译式语言,没有编译问题,Java 打包过程涉及到将 .java 编译成可以 Java 虚拟机可以处理的 .class 字节码。Python 的这个过程,比较需要看你的专案大小,如果是单一不涉及其他 package 的就直接复制过去在 server 上执行脚本就可以了,如果有 import 其他 package 就记得把依赖的套件在 server 上装一装,通常会用 Python 环境或 docker 把这
作者: sherees (ShaunTheSheep)   2020-03-11 14:51:00
想到的最佳解就是docker了
作者: Hsins (翔)   2020-03-11 14:51:00
个步骤包一包,避免污染系统层级的 Python 相关套件。
作者: sherees (ShaunTheSheep)   2020-03-11 14:52:00
或者写一个setup去做安装也可以解决
作者: areyo (没有名字的怪物)   2020-03-11 17:14:00
Django?flask
作者: yushes920179 (乐冰)   2020-03-11 19:51:00
Pyinstaller 打包成 exe上面那些都需要网络 docker hub也要网络
作者: alvinlin (林矜业)   2020-03-12 00:36:00
通常大家会用pip freeze先产生一个requirements.txt给你然后建立一个虚拟环境目录用 pip3 install PACKAGE -t .然后zip,copy过去部署.参考https://tinyurl.com/qk356nb
楼主: shou666 (shou666)   2020-03-13 09:57:00
谢谢大家的帮忙,综合大家的指引,我找到用pip frzeeze取得requirements.txt,再 pip download -r requirements.txt下载依赖套件,再搬到主机上离线部署,有个方向了,谢谢大家
作者: alvinlin (林矜业)   2020-03-17 01:30:00
^^

Links booklink

Contact Us: admin [ a t ] ucptt.com