作者jimmytzeng (jimmytseng)
看板Python
標題[問題] 跨平台之間的執行檔案(Linux/Windows/MacOS..)
時間Thu Dec 4 13:23:57 2014
大家好
小弟有一個問題困擾滿久的,要說是小問題也可以,大問題也是
平常自己都是在Linux底下使用virtualenv 跟pip 進行python套件的管理
但是當我寫好的程式需要release給一個不會python的人甚至是一單位的人
因為對方所使用的電腦有的是windows,有些是MacOS, 甚至還有分x86/x64的
我的程式應該如何打包?
以我以前經驗都是
相依套件直接建立一個lib資料夾, 並使用pip install -r requirements.txt -t lib 將library加入至local 資料夾
並於程式初始化時,將local資料夾的lib加入是python library path.
打包完成後,release出去後
先請對方安裝python直譯器, 並把直譯器手動加入系統環境變數
請對方點擊.py執行
這種方法雖然是滿簡便的,不必考慮到使用者是使用那種電腦,直譯器會負責處理
但是這方法後來想一想不是很專業,甚至還有潛在的問題
因某些套件透過pypi安裝的時候, 會需要進行編譯(e.g: lxml , pyopenssl等)
若是對方單位每個人的電腦架構,使用作業系統都不一樣, 我要release出去的時候
就是需要使用各種不同架構的電腦打包程式,或者是安裝各種交叉編譯環境
似乎是各種不方便
不知道版上有沒有高手有類似的經驗
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.218.53.60
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1417670639.A.B38.html
推 COLDTURNIP: 要跨到 win 上面是有 py2exe,但後來遇到類似需求的話 12/04 23:39
→ COLDTURNIP: ,我可能從專案一開始就捨棄 py 了… 12/04 23:39
推 NilPtr: 也許能試試看用C/C++崁入Python 12/08 21:28
→ NilPtr: 像是Blender、LibreOffice都是自帶Python 12/08 21:30
→ NilPtr: 這樣就不用另外裝,不過這我個人是沒試過 12/08 21:31
推 timTan: 別人也用pip -r 裝 12/11 08:11
→ timTan: 或是release 多個版本 12/11 08:12