我想将我的 Python 应用程序分发给同事以供他们使用。该应用程序将在 Linux 系统上运行,但用户没有管理员权限,因此无法安装我的应用程序的模块依赖项。我希望用户能够解压缩我的应用程序,然后运行我的 main.py 脚本。运行另一个一次性“安装”类型的脚本是可以的,但仅此而已。
PyInstaller接近我想要的。除了我也想分发我的应用程序的源代码。所以应用程序应该是独立的和自包含的(有或没有python解释器都可以,最好有),但用户应该能够对代码进行小的更改并重新运行应用程序。我理想的解决方案是为我的所有应用程序模块依赖项创建某种压缩/编译存档,并将其与我的应用程序一起分发。它不必是所有依赖项,但至少是非标准包。然后,应用程序将从该存档而不是用户的 PYTHONPATH 导入模块。
我尝试了 virtualenv,但是让用户获取激活脚本有点太多了。我一直在研究许多其他解决方案,但找不到适合我的解决方案。