在完全隔离的环境中执行代码的python库

pascua的Python项目详细描述


帕斯卡

PyPIRead the DocsTravis (.org) branchCoveralls githubGitHubGitHub stars

说明

在完全隔离的环境中执行代码的python库。

important:此存储库处于开发的早期阶段,因此不建议使用它。不过,我们欢迎您的贡献!

安装

您可以通过pip

安装最新的pascua版本
pip install pascua

它是怎么工作的?

pascua允许我们通过容器化技术在隔离的环境中执行代码。其主要思想是pascua使用在Environment构造函数的相应实现中定义的给定参数构建docker图像。

当执行对exec(.)方法的调用时,它使用生成的docker图像作为启动适当的解释器或代码编译的基础,以便结合在context字典中定义的变量来执行给定的source_code

用法

python环境

importpascuaaspsccontext={'size':100,}source_code=['import numpy as np','random_numbers = np.random.uniform(size=size)',]env=psc.PythonEnvironment(version='3.7.3',pip_dependencies=['numpy>=1.14.0',])result=env.exec(source_code,context)

R环境

importpascuaaspsccontext={'size':100,}source_code=['random_numbers <- runif(n = size)',]env=psc.REnvironment(version='latest',)result=env.exec(source_code,context)

C++环境< EH3>
importpascuaaspsccontext={'size':100,}source_code=['float r;','vector<float> random_numbers;','for (int i = 0; i < size; i++) {','  r = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);','  random_numbers.push_back(r);','}',]env=psc.CCEnvironment(version='latest',includes=['vector','numeric',])result=env.exec(source_code,context)

开发

您只需键入:

python setup.py install

要运行测试,请执行:

python -m unittest discover tests

许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我是否需要构造一个带有*非final*但不可变字段的不可变类?   java如何使用jaxb读取属性?   java为什么不打印空值以外的任何内容?   java Struts2如何在不使用struts的情况下重定向到操作。xml?   java方法参数未在其实现中使用   在Java中更改终端内部的变量   Spring中的java依赖项注入失败   java如何使用getAttribute Selenium防止获取重复的HREF   优先级队列的java顺序不符合预期   java如何使用Spring TaskExecutor在应用程序的所有请求中使用单个任务池   java Firebase RecyclerView不会从数据库中检索项目并将其显示在屏幕上。屏幕是空的   java将YUV_420_888转换为字节数组   spring停止使用Java缓存文件   java在执行maven clean安装时,我在eclipse智能家居中遇到了这种错误   stream Java=下载缓冲区未满?冲洗/缓冲是如何工作的?   查询SQL server时重置java JDBC连接   java如何避免在两个函数中使用相同的逻辑。   转换java。lang.Boolean到Scala Boolean