大家好
小弟有一个问题困扰满久的,要说是小问题也可以,大问题也是
平常自己都是在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出去的时候
就是需要使用各种不同架构的电脑打包程式,或者是安装各种交叉编译环境
似乎是各种不方便
不知道版上有没有高手有类似的经验