作者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://webptt.com/cn.aspx?n=bbs/Python/M.1417670639.A.B38.html
1F:推 COLDTURNIP: 要跨到 win 上面是有 py2exe,但後来遇到类似需求的话 12/04 23:39
2F:→ COLDTURNIP: ,我可能从专案一开始就舍弃 py 了… 12/04 23:39
3F:推 NilPtr: 也许能试试看用C/C++崁入Python 12/08 21:28
4F:→ NilPtr: 像是Blender、LibreOffice都是自带Python 12/08 21:30
5F:→ NilPtr: 这样就不用另外装,不过这我个人是没试过 12/08 21:31
6F:推 timTan: 别人也用pip -r 装 12/11 08:11
7F:→ timTan: 或是release 多个版本 12/11 08:12