作者shou666 (shou666)
看板Python
标题[问题] python新手,想请教发布程式问题大哉问
时间Wed Mar 11 14:00:09 2020
大家好
对python是全新手,语法等等网路上有许多资源可以K
但一些问题找不到方向,想请大家指引一下
以一个例子来说,假设我写好一个helloworld.py,
单机执行没问题了,
也准备好一个实际的server,准备当成正式环境,假设是台unix server好了,python假设
也装好了
server位於内网中无对外网路
首先是编译问题
发布出去一般都是发布.py这个档案吗?目前我只会python xxx.py的执行方式所以才有此
一问
打包问题:
假设我开发过程pip安装了一些套件,我该如何将这些套件连同程式打包起来?
以java来说有打包jar的流程,然後复制jar到其他机器上执行,python上这个流程是什麽
呢?主要是因网路问题,不太可能什麽事情都pip安装,是否有自行复制套件到主机上的
方式?
目前找到的资源大多是语法,或是哪些套件好用,缺乏这方面的资讯,加上发布关键字查
到的直接跳到docker,cicd的部署对我又跑太快,再麻烦大家指引一下了,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.52.9.164 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1583906411.A.C1D.html
1F:→ Hsins: 就是把 Python Script 放到 server 上 run 他。 03/11 14:46
2F:→ Hsins: Python 是直译式语言,没有编译问题,Java 打包过程涉及到 03/11 14:47
3F:→ Hsins: 将 .java 编译成可以 Java 虚拟机可以处理的 .class 字节码 03/11 14:48
4F:→ Hsins: 。Python 的这个过程,比较需要看你的专案大小,如果是单一 03/11 14:49
5F:→ Hsins: 不涉及其他 package 的就直接复制过去在 server 上执行脚本 03/11 14:49
6F:→ Hsins: 就可以了,如果有 import 其他 package 就记得把依赖的套件 03/11 14:50
7F:→ Hsins: 在 server 上装一装,通常会用 Python 环境或 docker 把这 03/11 14:51
8F:推 sherees: 想到的最佳解就是docker了 03/11 14:51
9F:→ Hsins: 个步骤包一包,避免污染系统层级的 Python 相关套件。 03/11 14:51
10F:→ sherees: 或者写一个setup去做安装也可以解决 03/11 14:52
11F:推 areyo: Django?flask 03/11 17:14
12F:推 yushes920179: Pyinstaller 打包成 exe 03/11 19:51
13F:→ yushes920179: 上面那些都需要网路 docker hub也要网路 03/11 19:52
14F:→ alvinlin: 通常大家会用pip freeze先产生一个requirements.txt给你 03/12 00:36
15F:→ alvinlin: 然後建立一个虚拟环境目录用 pip3 install PACKAGE -t . 03/12 00:40
17F:→ shou666: 谢谢大家的帮忙,综合大家的指引,我找到用pip frzeeze 03/13 09:57
18F:→ shou666: 取得requirements.txt,再 pip download -r requirements. 03/13 09:57
19F:→ shou666: txt下载依赖套件,再搬到主机上离线部署,有个方向了, 03/13 09:57
20F:→ shou666: 谢谢大家 03/13 09:57
21F:推 alvinlin: ^^ 03/17 01:30