作者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/m.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