背景:我有一个小型 Python 应用程序,它可以让开发人员在我们公司发布软件的工作更轻松一些。我使用 py2exe 为 Windows 构建了一个可执行文件。应用程序和二进制文件都被 checkin Subversion。人们只需从 SVN checkout 目录即可进行分发。该程序有大约 6 个不同的 Python 库依赖项(例如 ElementTree、Mako)
情况:开发人员希望破解此工具的源代码,然后无需构建二进制文件即可运行它。目前这意味着他们需要一个 python 2.6 解释器(这很好)并且还使用 easy_install 在本地安装了 6 个库。
问题
- 这不是一个公共(public)的、经典的开源环境:我在公司网络中,该工具永远不会离开“围墙花园”,而且我们在访问外部互联网(NTLM 身份验证代理和/或无法直接访问互联网的机器)。
- 我希望开始破解此工具的障碍最小:没有人应该在正确的版本中寻找正确的依赖项,他们应该执行尽可能少的设置。最理想的先决条件是安装 Python 并从 Subversion check out 程序。
轶事:过程越独立,就越容易重复。我把我的机器换成了一台新机器,经历了一个令人不快的过程,即必须对依赖项进行逆向工程、重新安装 distutils、在线搜索库并安装它们(参见上面的公司互联网限制)。
最佳答案
只需使用 virtualenv - 它是创建隔离 Python 环境的工具。如果需要,您可以创建一个设置脚本并分发整个脚本。
关于python - 如何在没有进一步依赖的情况下部署以库为源的 Python 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/527510/