[問題] python新手,想請教發佈程式問題大哉問

看板Python作者 (shou666)時間4年前 (2020/03/11 14:00), 編輯推噓4(4017)
留言21則, 6人參與, 4年前最新討論串1/1
大家好 對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://www.ptt.cc/bbs/Python/M.1583906411.A.C1D.html

03/11 14:46, 4年前 , 1F
就是把 Python Script 放到 server 上 run 他。
03/11 14:46, 1F

03/11 14:47, 4年前 , 2F
Python 是直譯式語言,沒有編譯問題,Java 打包過程涉及到
03/11 14:47, 2F

03/11 14:48, 4年前 , 3F
將 .java 編譯成可以 Java 虛擬機可以處理的 .class 字節碼
03/11 14:48, 3F

03/11 14:49, 4年前 , 4F
。Python 的這個過程,比較需要看你的專案大小,如果是單一
03/11 14:49, 4F

03/11 14:49, 4年前 , 5F
不涉及其他 package 的就直接複製過去在 server 上執行腳本
03/11 14:49, 5F

03/11 14:50, 4年前 , 6F
就可以了,如果有 import 其他 package 就記得把依賴的套件
03/11 14:50, 6F

03/11 14:51, 4年前 , 7F
在 server 上裝一裝,通常會用 Python 環境或 docker 把這
03/11 14:51, 7F

03/11 14:51, 4年前 , 8F
想到的最佳解就是docker了
03/11 14:51, 8F

03/11 14:51, 4年前 , 9F
個步驟包一包,避免污染系統層級的 Python 相關套件。
03/11 14:51, 9F

03/11 14:52, 4年前 , 10F
或者寫一個setup去做安裝也可以解決
03/11 14:52, 10F

03/11 17:14, 4年前 , 11F
Django?flask
03/11 17:14, 11F

03/11 19:51, 4年前 , 12F
Pyinstaller 打包成 exe
03/11 19:51, 12F

03/11 19:52, 4年前 , 13F
上面那些都需要網路 docker hub也要網路
03/11 19:52, 13F

03/12 00:36, 4年前 , 14F
通常大家會用pip freeze先產生一個requirements.txt給你
03/12 00:36, 14F

03/12 00:40, 4年前 , 15F
然後建立一個虛擬環境目錄用 pip3 install PACKAGE -t .
03/12 00:40, 15F

03/12 00:42, 4年前 , 16F
然後zip,copy過去部署.參考https://tinyurl.com/qk356nb
03/12 00:42, 16F

03/13 09:57, 4年前 , 17F
謝謝大家的幫忙,綜合大家的指引,我找到用pip frzeeze
03/13 09:57, 17F

03/13 09:57, 4年前 , 18F
取得requirements.txt,再 pip download -r requirements.
03/13 09:57, 18F

03/13 09:57, 4年前 , 19F
txt下載依賴套件,再搬到主機上離線部署,有個方向了,
03/13 09:57, 19F

03/13 09:57, 4年前 , 20F
謝謝大家
03/13 09:57, 20F

03/17 01:30, 4年前 , 21F
^^
03/17 01:30, 21F
文章代碼(AID): #1UQ7vhmT (Python)