我确实喜欢独立的解决方案,并且能够运行单元测试而无需在机器上安装任何东西。
这将允许我在几台机器上测试 python 包,而无需为此做准备。
是否有可能(如何?)使用 tox 运行 python unittests 而无需将其安装到机器上(因此 root 访问)。
您也许可以为此使用 virtualenv,特别是如果您拥有相对较新的 Python 版本。
这将允许您使用所需的任何包创建沙盒环境,跨环境共享它,并运行您需要运行的内容。
另一种方法(有点“复杂”)是使用像 Vagrant 这样的 VM 解决方案来设置一个几乎可以在任何地方运行的沙盒环境。它确实需要安装和配置,但它是一次性的,然后可用于设置您需要的任何环境,而不会弄乱每台机器的实际系统库。
这些只是我会考虑的一般方法,您会更好地了解适用于您的案例的方法,因为您了解您正在使用的实际限制和架构。
我认为 virtualenv 设置可能真的是要走的路,你可以让它依赖于系统包作为基础,然后安装tox
在沙箱之上:
http://www.virtualenv.org/en/latest/#the-system-site-packages-option
您可以尝试下载并使用toxbootstrap.py,它是一个自动安装的 tox 脚本。它从您的 tox.ini 下载并创建所有必要的内容。