大家好
小弟有一個問題困擾滿久的,要說是小問題也可以,大問題也是
平常自己都是在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出去的時候
就是需要使用各種不同架構的電腦打包程式,或者是安裝各種交叉編譯環境
似乎是各種不方便
不知道版上有沒有高手有類似的經驗