如何在 linux 中为共享的公司环境部署一个简单的 python 应用程序?

ron*_*zon 5 python linux deployment

我已经用python(在linux下)编写了一个(显然)优秀的工具,我想与我的同事分享。我们在不同的机器上工作,但使用相同的共享环境。此外,我们是用户,因此无法轻松安装依赖项。

现在问题来了:我喜欢 python,我的用户不在乎。他们确实可以访问公司范围内的 python 安装(一个简单的),但他们不想关心(嗯,这是可以理解的,不是每个人都是程序员)。

问题是:在这样的共享环境中,python 解释器可用,但我的应用程序的模块不可用,与其他用户共享我的工具的最简单方法是什么?

正如您想象的那样,我的用户不想安装任何东西(尤其是在用户空间中),配置路径可能处于接受的边缘。解决方案不应该像冻结一样打包一切,这可能是一种矫枉过正......

对于用户来说,它应该是:复制某个 tar.gz 或转到应用程序文件夹(共享),运行应用程序,完成。

那么也许模块应该以某种方式嵌入到应用程序中?或者我应该在库中托管(在我的共享家中)模块并设置一些路径?或者,如果用户可以使用路径复制整个 env,那么 virtualenv 可能会有所帮助?

我希望你能看到我的问题 :D

谢谢!

jfs*_*jfs 3

对于“相同的共享环境”,您可以这样做:

  1. 安装your-script/your/shared/home/virtualenv

    $ pip install your-app.tar.gz -E /your/shared/home/virtualenv
    
    Run Code Online (Sandbox Code Playgroud)
  2. 做个链接:

    $ ln -s /your/shared/home/virtualenv/bin/your-script /shared/app/folder/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 您的同事可以将脚本调用为/shared/app/folder/your-script或添加/shared/app/folder/PATH.

特征:

  • 您可以通过控制符号链接指向的位置来选择可用的脚本版本。旧版本可以运行为/your/shared/home/virtualenv-old-version/bin/your-script
  • 你可以使用用 C 编写的 Python 扩展
  • pip install -e .如果你通过;安装到 virtualenv 中 它使您的工作目录中的版本可用

一般来说,安装 Python 应用程序并不是一个更好的选择。