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

标签 python linux deployment

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

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

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

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

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

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

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

谢谢!

最佳答案

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

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

    $ pip install your-app.tar.gz -E /your/shared/home/virtualenv
    
  2. 建立链接:

    $ ln -s /your/shared/home/virtualenv/bin/your-script /shared/app/folder/
    
  3. 您的同事可以将脚本调用为 /shared/app/folder/your-script 或将 /shared/app/folder/ 添加到 路径

特点:

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

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

关于python - 如何在 linux 中为共享的公司环境部署一个简单的 python 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281336/

相关文章:

跨模块的 Python 作用域/命名空间

javascript - 解析 Django 模型服务器端还是客户端?

python - 如何将多个字符串传递给Python程序

python google appengine db.Model在构造实例后添加父级

linux - Python SMTP 函数将 .txt 文件作为 .bin 文件类型发送

linux - Zynq-7000可以单步吗

linux - 如何在不触及 CFLAGS 环境变量的情况下在 64 位 linux 机器上编译 32 位二进制文​​件

c# - 一般而言,Angular 2 和 .Net Core 2.0 应用程序如何相互交互以及开发周期?

java - Maven 将具有依赖项的 jar 部署到 repo

java - tomcat上的war文件部署