01、写在前面
大家拿到自己的服务器(趁开学| 入手足够完成硕博生涯的生信环境)后可能需要安装很多的软件与包,Linux中许多包的安装依赖过多、安装复杂。而conda作为一个能够直接安装超过90%软件的"管家",能够像Windows和手机中的应用商店那样一键为你解决安装软件的烦恼。conda 是一个开源的软件包管理和环境管理系统,用于简化在不同平台上安装、运行和管理软件包。该工具用于支持 Python 语言,但也能够管理非 Python 的软件。conda的特点介绍、安装使用可见教程:生信软件管家——conda的安装、使用、卸载。
本教程基于Linux环境演示,计算资源不足的同学可参考:
如果你对下面的教程比较迷茫,那么你可以先行学习编程教程:
02、利用conda分享/复刻生信环境
大家除了能按部就班的利用conda安装生信软件外,还能够通过yml文件打包/复刻生信环境(如下图所示),其中能够收录完整的配置(包括 Python 版本、所有依赖库及其精确版本、甚至操作系统相关的依赖),通过这样一个几kb的文件就能直接收录成百上千个依赖信息。这样任何人都能在自己的电脑或服务器上快速复现与原环境完全一致的配置,彻底解决 “我这能跑,你那报错” 的依赖冲突问题。让环境从 “隐性经验” 变成 “显性文件”。
具体使用起来也很简单,例如我这里存在一些conda虚拟环境:
大家按照这个语法即可完成环境打包与再安装的流程:
# 激活环境:
conda activate your_env_name
# 打包环境为yml文件:
conda env export > my_env.yml
# 在新机器上复刻环境:
conda env create -f my_env.yml
例如我现在需要用到一文学会scFAST-seq数据分析中用到的seeksoul环境,对应的代码就是:
# 激活环境:
conda activate seeksoultools
# 打包环境为yml文件:
conda env export > seeksoultools.yml
# 在新机器上复刻环境:
conda env create -f seeksoultools.yml
本质上是一个文本文件,打开后内容如下:
name: /data2/analysis/xunyin/seeksoultools
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.ustc.edu.cn/anaconda/pkgs/free
- bioconda
- https://mirror.nju.edu.cn/anaconda/cloud/pytorch
- https://mirror.nju.edu.cn/anaconda/cloud/conda-forge
- https://mirror.nju.edu.cn/anaconda/pkgs/msys2
- https://mirror.nju.edu.cn/anaconda/pkgs/r
- https://mirror.nju.edu.cn/anaconda/pkgs/free
- https://mirror.nju.edu.cn/anaconda/pkgs/main
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- _r-mutex=1.0.1=anacondar_1
- alsa-lib=1.2.8=h166bdaf_0
- binutils_impl_linux-64=2.40=hf600244_0
- bioconductor-beachmat=2.10.0=r41hc247a5b_2
- bioconductor-biobase=2.54.0=r41hc0cfd56_2
- bioconductor-biocgenerics=0.40.0=r41hdfd78af_0
- bioconductor-biocio=1.4.0=r41hdfd78af_0
- bioconductor-biocparallel=1.28.3=r41hc247a5b_1
- bioconductor-biostrings=2.62.0=r41hc0cfd56_2
- bioconductor-delayedarray=0.20.0=r41hc0cfd56_2
- bioconductor-delayedmatrixstats=1.16.0=r41hdfd78af_0
- bioconductor-dropletutils=1.14.2=r41hc247a5b_1
- bioconductor-edger=3.36.0=r41hc247a5b_2
- bioconductor-genomeinfodb=1.30.1=r41hdfd78af_0
- bioconductor-genomeinfodbdata=1.2.7=r41hdfd78af_2
- bioconductor-genomicalignments=1.30.0=r41hc0cfd56_2
- bioconductor-genomicranges=1.46.1=r41hc0cfd56_1
- bioconductor-hdf5array=1.22.1=r41hc0cfd56_1
- bioconductor-iranges=2.28.0=r41hc0cfd56_2
- bioconductor-limma=3.50.3=r41hc0cfd56_0
- bioconductor-matrixgenerics=1.6.0=r41hdfd78af_0
- bioconductor-noiseq=2.38.0=r41hdfd78af_0
- bioconductor-rhdf5=2.38.1=r41hbe1951d_0
- bioconductor-rhdf5filters=1.6.0=r41hc247a5b_2
- bioconductor-rhdf5lib=1.16.0=r41hc0cfd56_2
- bioconductor-rhtslib=1.26.0=r41hc0cfd56_2
- bioconductor-rsamtools=2.10.0=r41hc247a5b_2
- bioconductor-rtracklayer=1.54.0=r41h171f361_4
- bioconductor-s4vectors=0.32.4=r41hc0cfd56_0
- bioconductor-scuttle=1.4.0=r41hc247a5b_2
- bioconductor-singlecellexperiment=1.16.0=r41hdfd78af_0
- bioconductor-sparsematrixstats=1.6.0=r41hc247a5b_2
- bioconductor-summarizedexperiment=1.24.0=r41hdfd78af_0
- bioconductor-xvector=0.34.0=r41hc0cfd56_2
- bioconductor-zlibbioc=1.40.0=r41hc0cfd56_2
- bwidget=1.9.14=ha770c72_1
- bx-python=0.9.0=py39h6471ffd_0
- bzip2=1.0.8=h7f98852_4
- c-ares=1.18.1=h7f98852_0
- ca-certificates=2022.12.7=ha878542_0
- cairo=1.16.0=ha61ee94_1014
- cffi=1.15.1=py39he91dace_3
- click=8.1.3=unix_pyhd8ed1ab_2
- curl=7.26.0=1
- cutadapt=4.1=py39hbf8eff0_1
- dnaio=0.10.0=py39hbf8eff0_0
- expat=2.5.0=hcb278e6_1
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=hab24e00_0
- fontconfig=2.14.2=h14ed4e7_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- freetype=2.12.1=hca18f0e_1
- fribidi=1.0.10=h36c2ea0_0
- future=0.18.3=pyhd8ed1ab_0
- gcc_impl_linux-64=12.2.0=hcc96c02_19
- geos=3.11.2=hcb278e6_0
- gettext=0.21.1=h27087fc_0
- gfortran_impl_linux-64=12.2.0=h55be85b_19
- giflib=5.2.1=h0b41bf4_3
- glpk=5.0=h445213a_0
- gmp=6.2.1=h58526e2_0
- graphite2=1.3.13=h58526e2_1001
- gsl=2.7=he838d99_0
- gxx_impl_linux-64=12.2.0=hcc96c02_19
- harfbuzz=6.0.0=h8e241bc_0
- htslib=1.17=h6bc39ce_0
- icu=70.1=h27087fc_0
- isa-l=2.30.0=ha770c72_4
- jinja2=3.1.2=pyhd8ed1ab_1
- jpeg=9e=h0b41bf4_3
- kernel-headers_linux-64=2.6.32=he073ed8_15
- keyutils=1.6.1=h166bdaf_0
- krb5=1.19.3=h3790be6_0
- lcms2=2.14=h6ed2654_0
- ld_impl_linux-64=2.40=h41732ed_0
- lerc=4.0.0=h27087fc_0
- libblas=3.9.0=16_linux64_openblas
- libcblas=3.9.0=16_linux64_openblas
- libcups=2.3.3=h3e49a29_2
- libcurl=7.87.0=h91b91d3_0
- libdeflate=1.13=h166bdaf_0
- libedit=3.1.20191231=he28a2e2_2
- libev=4.33=h516909a_1
- libexpat=2.5.0=hcb278e6_1
- libffi=3.4.2=h7f98852_5
- libgcc-devel_linux-64=12.2.0=h3b97bd3_19
- libgcc-ng=12.2.0=h65d4601_19
- libgfortran-ng=12.2.0=h69a702a_19
- libgfortran5=12.2.0=h337968e_19
- libglib=2.74.1=h606061b_1
- libgomp=12.2.0=h65d4601_19
- libiconv=1.17=h166bdaf_0
- liblapack=3.9.0=16_linux64_openblas
- libnghttp2=1.51.0=hdcd2b5c_0
- libnsl=2.0.0=h7f98852_0
- libopenblas=0.3.21=pthreads_h78a6416_3
- libpng=1.6.39=h753d276_0
- libsanitizer=12.2.0=h46fd767_19
- libsqlite=3.40.0=h753d276_0
- libssh2=1.10.0=haa6b8db_3
- libstdcxx-devel_linux-64=12.2.0=h3b97bd3_19
- libstdcxx-ng=12.2.0=h46fd767_19
- libtiff=4.4.0=h0e0dad5_3
- libuuid=2.38.1=h0b41bf4_0
- libwebp-base=1.3.0=h0b41bf4_0
- libxcb=1.13=h7f98852_1004
- libxml2=2.10.3=hca2bb57_4
- libzlib=1.2.13=h166bdaf_4
- loguru=0.6.0=py39hf3d152e_2
- lzo=2.10=h516909a_1000
- lzstring=1.0.4=py_1001
- make=4.3=hd18ef5c_1
- markupsafe=2.1.2=py39h72bdee0_0
- ncurses=6.3=h27087fc_1
- numpy=1.23.3=py39hba7629e_0
- openjdk=17.0.3=h58dac75_5
- openssl=1.1.1t=h0b41bf4_0
- pandas=1.5.0=py39h4661b88_0
- pandoc=2.19.2=h32600fe_2
- pango=1.50.14=hd33c08f_0
- pbzip2=1.1.13=0
- pcre2=10.40=hc3806b6_0
- perl=5.32.1=2_h7f98852_perl5
- picard=2.27.5=hdfd78af_0
- pigz=2.6=h27826a3_0
- pip=22.2.2=pyhd8ed1ab_0
- pixman=0.40.0=h36c2ea0_0
- plotly=5.10.0=pyhd8ed1ab_0
- pthread-stubs=0.4=h36c2ea0_1001
- pybigwig=0.3.18=py39h792ddb7_2
- pycparser=2.21=pyhd8ed1ab_0
- pysam=0.19.1=py39h9abd093_1
- python=3.9.13=h9a8a25e_0_cpython
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python-isal=1.1.0=py39hb9d737c_1
- python-lzo=1.14=py39h388aed1_2
- python_abi=3.9=3_cp39
- pytz=2023.3=pyhd8ed1ab_0
- qualimap=2.2.2d=hdfd78af_2
- r-abind=1.4_5=r41hc72bb7e_1004
- r-argparse=2.1.6=r41hc72bb7e_1
- r-askpass=1.1=r41h06615bd_3
- r-assertthat=0.2.1=r41hc72bb7e_3
- r-backports=1.4.1=r41h06615bd_1
- r-base=4.1.3=hb87df5d_4
- r-base64enc=0.1_3=r41h06615bd_1005
- r-bh=1.81.0_1=r41hc72bb7e_0
- r-bit=4.0.5=r41h06615bd_0
- r-bit64=4.0.5=r41h06615bd_1
- r-bitops=1.0_7=r41h06615bd_1
- r-blob=1.2.4=r41hc72bb7e_0
- r-broom=1.0.4=r41hc72bb7e_0
- r-bslib=0.4.2=r41hc72bb7e_0
- r-cachem=1.0.7=r41h133d619_0
- r-callr=3.7.3=r41hc72bb7e_0
- r-catools=1.18.2=r41h7525677_1
- r-cellranger=1.1.0=r41hc72bb7e_1005
- r-cli=3.6.1=r41h38f115c_0
- r-clipr=0.8.0=r41hc72bb7e_1
- r-cluster=2.1.4=r41h8da6f51_0
- r-codetools=0.2_19=r41hc72bb7e_0
- r-colorspace=2.1_0=r41h133d619_0
- r-commonmark=1.9.0=r41h133d619_0
- r-cowplot=1.1.1=r41hc72bb7e_1
- r-cpp11=0.4.3=r41hc72bb7e_0
- r-crayon=1.5.2=r41hc72bb7e_1
- r-crosstalk=1.2.0=r41hc72bb7e_1
- r-curl=4.3.3=r41h06615bd_1
- r-data.table=1.14.8=r41h133d619_0
- r-dbi=1.1.3=r41hc72bb7e_1
- r-dbplyr=2.3.2=r41hc72bb7e_0
- r-deldir=1.0_6=r41h8da6f51_1
- r-digest=0.6.31=r41h38f115c_0
- r-dplyr=1.1.1=r41h38f115c_0
- r-dqrng=0.3.0=r41h7525677_1
- r-dtplyr=1.3.1=r41hc72bb7e_0
- r-ellipsis=0.3.2=r41h06615bd_1
- r-evaluate=0.20=r41hc72bb7e_0
- r-fansi=1.0.4=r41h133d619_0
- r-farver=2.1.1=r41h7525677_1
- r-fastmap=1.1.1=r41h38f115c_0
- r-findpython=1.0.8=r41hc72bb7e_0
- r-fitdistrplus=1.1_8=r41hc72bb7e_1
- r-fnn=1.1.3.2=r41h38f115c_0
- r-fontawesome=0.5.0=r41hc72bb7e_0
- r-forcats=1.0.0=r41hc72bb7e_0
- r-formatr=1.14=r41hc72bb7e_0
- r-fs=1.6.1=r41h38f115c_0
- r-futile.logger=1.4.3=r41hc72bb7e_1004
- r-futile.options=1.0.1=r41hc72bb7e_1003
- r-future=1.32.0=r41hc72bb7e_0
- r-future.apply=1.10.0=r41hc72bb7e_0
- r-gargle=1.3.0=r41h785f33e_0
- r-generics=0.1.3=r41hc72bb7e_1
- r-getopt=1.20.3=r41ha770c72_3
- r-ggplot2=3.4.2=r41hc72bb7e_0
- r-ggrepel=0.9.3=r41h38f115c_0
- r-ggridges=0.5.4=r41hc72bb7e_1
- r-globals=0.16.2=r41hc72bb7e_0
- r-glue=1.6.2=r41h06615bd_1
- r-goftest=1.2_3=r41h06615bd_1
- r-googledrive=2.1.0=r41hc72bb7e_0
- r-googlesheets4=1.1.0=r41h785f33e_0
- r-gplots=3.1.3=r41hc72bb7e_1
- r-gridextra=2.3=r41hc72bb7e_1004
- r-gtable=0.3.3=r41hc72bb7e_0
- r-gtools=3.9.4=r41h06615bd_0
- r-haven=2.5.2=r41h38f115c_0
- r-here=1.0.1=r41hc72bb7e_1
- r-hexbin=1.28.3=r41hac0b197_0
- r-highr=0.10=r41hc72bb7e_0
- r-hms=1.1.3=r41hc72bb7e_0
- r-htmltools=0.5.5=r41h38f115c_0
- r-htmlwidgets=1.6.2=r41hc72bb7e_0
- r-httpuv=1.6.9=r41h38f115c_0
- r-httr=1.4.5=r41hc72bb7e_0
- r-ica=1.0_3=r41hc72bb7e_1
- r-ids=1.0.1=r41hc72bb7e_2
- r-igraph=1.4.2=r41h65ed38e_0
- r-irlba=2.3.5.1=r41h5f7b363_0
- r-isoband=0.2.7=r41h38f115c_1
- r-jquerylib=0.1.4=r41hc72bb7e_1
- r-jsonlite=1.8.4=r41h133d619_0
- r-kernsmooth=2.23_20=r41hd009a43_1
- r-knitr=1.42=r41hc72bb7e_1
- r-labeling=0.4.2=r41hc72bb7e_2
- r-lambda.r=1.2.4=r41hc72bb7e_2
- r-later=1.3.0=r41h7525677_1
- r-lattice=0.21_8=r41h133d619_0
- r-lazyeval=0.2.2=r41h06615bd_3
- r-leiden=0.4.3=r41hc72bb7e_1
- r-lifecycle=1.0.3=r41hc72bb7e_1
- r-listenv=0.9.0=r41hc72bb7e_0
- r-lmtest=0.9_40=r41h8da6f51_1
- r-locfit=1.5_9.7=r41h133d619_0
- r-lsei=1.3_0=r41hc3ea6d6_2
- r-lubridate=1.9.2=r41h133d619_1
- r-magrittr=2.0.3=r41h06615bd_1
- r-mass=7.3_58.3=r41h133d619_0
- r-matrix=1.5_4=r41he1ae0d6_0
- r-matrixstats=0.63.0=r41h06615bd_0
- r-memoise=2.0.1=r41hc72bb7e_1
- r-mgcv=1.8_42=r41he1ae0d6_0
- r-mime=0.12=r41h06615bd_1
- r-miniui=0.1.1.1=r41hc72bb7e_1003
- r-modelr=0.1.11=r41hc72bb7e_0
- r-munsell=0.5.0=r41hc72bb7e_1005
- r-nlme=3.1_162=r41hac0b197_0
- r-npsurv=0.5_0=r41hc72bb7e_1
- r-openssl=2.0.5=r41hb1dc35e_0
- r-optparse=1.7.3=r41hc72bb7e_1
- r-parallelly=1.35.0=r41hc72bb7e_0
- r-patchwork=1.1.2=r41hc72bb7e_1
- r-pbapply=1.7_0=r41hc72bb7e_0
- r-pillar=1.9.0=r41hc72bb7e_0
- r-pkgconfig=2.0.3=r41hc72bb7e_2
- r-plotly=4.10.1=r41hc72bb7e_0
- r-plyr=1.8.8=r41h7525677_0
- r-png=0.1_8=r41h10cf519_0
- r-polyclip=1.10_4=r41h7525677_0
- r-prettyunits=1.1.1=r41hc72bb7e_2
- r-processx=3.8.0=r41h06615bd_0
- r-progress=1.2.2=r41hc72bb7e_3
- r-progressr=0.13.0=r41hc72bb7e_0
- r-promises=1.2.0.1=r41h7525677_1
- r-ps=1.7.4=r41h133d619_0
- r-purrr=1.0.1=r41h133d619_0
- r-r.methodss3=1.8.2=r41hc72bb7e_1
- r-r.oo=1.25.0=r41hc72bb7e_1
- r-r.utils=2.12.2=r41hc72bb7e_0
- r-r6=2.5.1=r41hc72bb7e_1
- r-rann=2.6.1=r41h7525677_3
- r-rappdirs=0.3.3=r41h06615bd_1
- r-rcolorbrewer=1.1_3=r41h785f33e_1
- r-rcpp=1.0.10=r41h38f115c_0
- r-rcppannoy=0.0.20=r41h7525677_0
- r-rcpparmadillo=0.12.2.0.0=r41h358215d_0
- r-rcppeigen=0.3.3.9.3=r41h9f5de39_0
- r-rcppparallel=5.1.6=r41h38f115c_0
- r-rcppprogress=0.4.2=r41hc72bb7e_2
- r-rcpptoml=0.1.7=r41h7525677_2
- r-rcurl=1.98_1.12=r41h133d619_0
- r-readr=2.1.4=r41h38f115c_0
- r-readxl=1.4.2=r41h81ef4d7_0
- r-rematch=1.0.1=r41hc72bb7e_1005
- r-rematch2=2.1.2=r41hc72bb7e_2
- r-reprex=2.0.2=r41hc72bb7e_1
- r-reshape2=1.4.4=r41h7525677_2
- r-restfulr=0.0.15=r41h73dbb54_0
- r-reticulate=1.28=r41h38f115c_0
- r-rgeos=0.6_2=r41h0d5128d_1
- r-rjson=0.2.21=r41h7525677_2
- r-rlang=1.1.0=r41h38f115c_0
- r-rmarkdown=2.21=r41hc72bb7e_0
- r-rocr=1.0_11=r41hc72bb7e_2
- r-rpart=4.1.19=r41h06615bd_0
- r-rprojroot=2.0.3=r41hc72bb7e_1
- r-rspectra=0.16_1=r41h9f5de39_1
- r-rstudioapi=0.14=r41hc72bb7e_1
- r-rtsne=0.16=r41h37cf8d7_1
- r-rvest=1.0.3=r41hc72bb7e_1
- r-sass=0.4.5=r41h38f115c_0
- r-scales=1.2.1=r41hc72bb7e_1
- r-scattermore=0.8=r41h06615bd_1
- r-sctransform=0.3.5=r41h9f5de39_1
- r-selectr=0.4_2=r41hc72bb7e_2
- r-seurat=4.1.1=r41h7525677_1
- r-seuratobject=4.1.3=r41h38f115c_0
- r-shiny=1.7.4=r41h785f33e_0
- r-sitmo=2.0.2=r41h7525677_1
- r-snow=0.4_4=r41hc72bb7e_1
- r-sourcetools=0.1.7_1=r41h38f115c_0
- r-sp=1.6_0=r41h133d619_0
- r-spatstat.core=2.4_4=r41h7525677_1
- r-spatstat.data=3.0_1=r41hc72bb7e_0
- r-spatstat.geom=3.1_0=r41h133d619_0
- r-spatstat.random=3.1_4=r41h38f115c_0
- r-spatstat.sparse=3.0_1=r41h133d619_0
- r-spatstat.utils=3.0_2=r41h133d619_0
- r-stringi=1.7.12=r41h1ae9187_0
- r-stringr=1.5.0=r41h785f33e_0
- r-survival=3.5_5=r41h133d619_0
- r-sys=3.4.1=r41h06615bd_0
- r-tensor=1.5=r41hc72bb7e_1004
- r-tibble=3.2.1=r41h133d619_1
- r-tidyr=1.3.0=r41h38f115c_0
- r-tidyselect=1.2.0=r41hc72bb7e_0
- r-tidyverse=1.3.2=r41hc72bb7e_1
- r-timechange=0.2.0=r41h38f115c_0
- r-tinytex=0.44=r41hc72bb7e_0
- r-tzdb=0.3.0=r41h7525677_1
- r-utf8=1.2.3=r41h133d619_0
- r-uuid=1.1_0=r41h06615bd_1
- r-uwot=0.1.14=r41h7525677_1
- r-vctrs=0.6.1=r41h38f115c_0
- r-viridislite=0.4.1=r41hc72bb7e_1
- r-vroom=1.6.1=r41h38f115c_0
- r-withr=2.5.0=r41hc72bb7e_1
- r-xfun=0.38=r41h38f115c_0
- r-xml=3.99_0.14=r41hb43fdd4_0
- r-xml2=1.3.3=r41h044e5c7_2
- r-xtable=1.8_4=r41hc72bb7e_4
- r-yaml=2.3.7=r41h133d619_0
- r-zoo=1.8_11=r41h06615bd_1
- readline=8.2=h8228510_1
- rseqc=3.0.0=py_3
- samtools=1.16.1=h00cdaf9_2
- scipy=1.9.1=py39h8ba3f38_0
- sed=4.8=he412f7d_0
- setuptools=67.6.1=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- sqlite=3.40.0=h4ff8645_0
- star=2.7.10a=h9ee0642_0
- subread=2.0.1=h7132678_2
- sysroot_linux-64=2.12=he073ed8_15
- tenacity=8.2.2=pyhd8ed1ab_0
- tk=8.6.12=h27826a3_0
- tktable=2.10=hb7b940f_3
- tzdata=2023c=h71feb2d_0
- varscan=2.4.4=hdfd78af_1
- wheel=0.40.0=pyhd8ed1ab_0
- xopen=1.7.0=py39hf3d152e_1
- xorg-fixesproto=5.0=h7f98852_1002
- xorg-inputproto=2.3.2=h7f98852_1002
- xorg-kbproto=1.0.7=h7f98852_1002
- xorg-libice=1.0.10=h7f98852_0
- xorg-libsm=1.2.3=hd9c2040_1000
- xorg-libx11=1.8.4=h0b41bf4_0
- xorg-libxau=1.0.9=h7f98852_0
- xorg-libxdmcp=1.1.3=h7f98852_0
- xorg-libxext=1.3.4=h0b41bf4_2
- xorg-libxfixes=5.0.3=h7f98852_1004
- xorg-libxi=1.7.10=h7f98852_0
- xorg-libxrender=0.9.10=h7f98852_1003
- xorg-libxt=1.2.1=h7f98852_2
- xorg-libxtst=1.2.3=h7f98852_1002
- xorg-recordproto=1.14.2=h7f98852_1002
- xorg-renderproto=0.11.1=h7f98852_1002
- xorg-xextproto=7.3.0=h0b41bf4_1003
- xorg-xproto=7.0.31=h7f98852_1007
- xz=5.2.6=h166bdaf_0
- zlib=1.2.13=h166bdaf_4
- zstandard=0.19.0=py39h29414ee_1
- zstd=1.5.2=h3eb15da_6
- pip:
- opencv-contrib-python==4.8.1.78
- openslide-python==1.3.1
- pillow==10.1.0
- pycv2==0.0.1
- seeksoultools==1.2.0
prefix: /data2/analysis/xunyin/seeksoultools
好啦,大家尝试一下自己打包conda镜像并分发给小伙伴们吧~