[问题] 跨平台之间的执行档案(Linux/Windows/MacOS..)

楼主: jimmytzeng (jimmytseng)   2014-12-04 13:23:57
大家好
小弟有一个问题困扰满久的,要说是小问题也可以,大问题也是
平常自己都是在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出去的时候
就是需要使用各种不同架构的电脑打包程式,或者是安装各种交叉编译环境
似乎是各种不方便
不知道版上有没有高手有类似的经验
作者: COLDTURNIP (娶妻当娶五航战)   2014-12-04 23:39:00
要跨到 win 上面是有 py2exe,但后来遇到类似需求的话,我可能从专案一开始就舍弃 py 了…
作者: NilPtr (神奇的空指标)   2014-12-08 21:28:00
也许能试试看用C/C++崁入Python像是Blender、LibreOffice都是自带Python这样就不用另外装,不过这我个人是没试过
作者: timTan (用口头禅区分年记)   2014-12-11 08:11:00
别人也用pip -r 装或是release 多个版本

Links booklink

Contact Us: admin [ a t ] ucptt.com