小编mox*_*mox的帖子

如何设置要在 python 脚本中使用的 conda 环境

我需要在同一环境中运行一个workflow.py使用 python 2.7 的脚本和另一个stepA.py使用 python 3.7 的脚本 。

假设stepA.py调用 from workflow.py,一种可能性是设置两个 conda env,一个使用 python2.7,另一个使用 python3.7,workflow.py在py2env 中运行并编写类似

subprocess.run('bash -c "source activate py3env; stepA.py"', shell=True)

workflow.py启动stepA.py

我不喜欢这个解决方案,相反,我想修改第一行workflow.pystepA.py指出要使用的 python 版本,例如

#!/usr/bin/env python2.7
Run Code Online (Sandbox Code Playgroud)

而不是简单地

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

在我看来,第二种解决方案更加原子化和干燥。

我试过类似的东西

$ conda --version
conda 4.7.12
$ conda create -n py3env python=3.8
[...]
$ conda env list
# conda environments:
base                  *  /sto1/ref/miniconda2
py3env                   /sto1/ref/miniconda2/envs/py3env
$ cat ./test.py
#!/usr/bin/env conda …
Run Code Online (Sandbox Code Playgroud)

python conda

7
推荐指数
1
解决办法
3287
查看次数

Snakemake + docker示例,如何使用卷

让我们有一个简单的蛇文件

rule targets:
    input:
        "plots/dataset1.pdf",
        "plots/dataset2.pdf"

rule plot:
    input:
        "raw/{dataset}.csv"
    output:
        "plots/{dataset}.pdf"
    shell:
        "somecommand {input} {output}"
Run Code Online (Sandbox Code Playgroud)

我想归纳出绘图规则,以便它可以在docker容器中运行,

rule targets:
    input:
        "plots/dataset1.pdf",
        "plots/dataset2.pdf"

rule plot:
    input:
        "raw/{dataset}.csv"
    output:
        "plots/{dataset}.pdf"
    singularity:
        "docker://joseespinosa/docker-r-ggplot2"
    shell:
        "somecommand {input} {output}"
Run Code Online (Sandbox Code Playgroud)

如果我了解得很好,当我运行时,我会在docker容器中snakemake --use-singularity获得该somecommand运行,如果不对容器进行一些卷配置,则无法找到输入的csv文件。

您能否提供一个小的工作示例,说明如何在Snakefile或其他Snakemake文件中配置卷?

docker snakemake singularity-container

6
推荐指数
1
解决办法
663
查看次数

如何在 django admin list_view 中添加新记录,方式类似于内联中的额外表单

使用ModelAdmin.list_editable我可以编辑 django admin 列表视图中列出的记录字段,其方式类似于使用 InlineModelAdmin 所做的。

使用InlineModelAdmin.extra我可以显示表单以在内联模型管理视图中添加新记录。

如何在管理列表视图中显示类似的空表单以添加新记录?

django django-admin

5
推荐指数
0
解决办法
167
查看次数