代码之家  ›  专栏  ›  技术社区  ›  BlurKid

共享python环境最简单的方法是什么?

  •  1
  • BlurKid  · 技术社区  · 5 月前

    所以我的目标是让一群生物学家通过R语言使用python库,因为他们只知道这种语言。该库是scSpectra,这不是一个真正常见的库。他们还需要其他一些库,比如pyvis和rpy2。

    有一个R库(网状),允许使用python脚本和库。目标是让生物学家在他们的计算机上安装一个python环境,然后使用R中的网纹调用scSpectra库。

    我在电脑上安装scSpectra有问题,所以我认为要求生物学家安装库不会很顺利。

    那么,轻松共享python环境的最佳方式是什么?

    我尝试创建一个python venv,但这就是问题所在。使用pip rpy2和pyvis进行安装进展顺利,但当我尝试安装scSpectra时,numpy的安装出现了问题(scSpectra需要特定范围的版本)。我没有找到如何解决这个问题。

    然后我尝试创建一个conda环境,但下载numpy时仍然遇到问题,这次我设法解决了这个问题。我不知道我是否可以以任何方式分享这个环境。。。

    我最后的猜测是使用docker,但我从未使用过它,所以我不知道它是否可以与“网状”R库兼容。

    1 回复  |  直到 5 月前
        1
  •  0
  •   Timur Shtatland    5 月前

    使用 conda 安装常见的生物信息学(和许多其他)软件包。例如,创建一个具有特定名称的单独conda环境(这里, scspectra_plus ),并使用从左到右列出的优先顺序中列出的conda通道将您选择的库安装到此环境中(例如,conda-forge优先于biocada)。此命令需要执行一次才能安装软件包:

    conda create -n scspectra_plus numpy scanpy scipy pandas matplotlib scSpectra anndata seaborn h5py -c conda-forge -c bioconda -c defaults
    

    按如下方式激活此环境:

    conda activate scspectra_plus
    

    现在,您可以使用安装到此环境中的库。例如:

    python -c 'import Spectra; print("ok")'
    

    并按如下方式停用此环境:

    conda deactivate
    

    注: 几个库(json、glob、math、re、statistics、typing)是Python标准库的一部分,不需要安装。