为多个操作系统打包专有的Python库

时间:2013-12-05 09:23:31

标签: python packaging py2exe setuptools distutils

我正在开发一个专有的Python库。该库目前仅限Windows,我还希望它可用于其他平台(Linux和Mac)。

该库目前以Zip文件的形式发送给(付费)客户。此存档包含用于实现库的已编译Python代码以及所有依赖项。通过将Zip文件放在他的PYTHONPATH上,客户可以使用他的Python脚本中的库。

发送包含所有依赖项的Zip文件具有以下优点:

  • 安装库无需互联网访问权限或管理员权限。
  • 客户不必担心安装/管理我的库的依赖关系。

它还有一个缺点,即客户不能(轻松)使用他自己版本的库依赖项。

即使我没有生成EXE,我使用py2exe来获取我的库的可分发Zip文件。这个“hack”非常方便,因为py2exe允许我简单地说出我需要哪些包,并为我执行所需库的依赖性分析。 py2exe使用我的(已编译的)库代码和所有依赖项自动生成Zip文件。

不幸的是,py2exe仅适用于Windows。我还需要能够在Linux和Linux上构建它。 Mac,因此将构建过程更改为不使用py2exe。

我的问题是:

  1. 在Python社区中发送一个包含所有依赖项的大型Zip文件是不是一个坏主意?从我所看到的情况来看,这似乎是一种不寻常的方法,至少。
  2. 是否可以使用其他工具(例如setuptools)以允许离线安装但没有管理员权限的形式分发库?
  3. 我对Python中关于这些问题的最新技术的见解是有限的,所以我希望得到更多有关该主题经验的人的建议。

    一个严格的要求是我只能发送我的库的二进制发行版,因为这是一个专有产品。我查看了Distutils和Setuptools,推荐的方法似乎是简单地发送所有来源。

    非常感谢!

0 个答案:

没有答案