
需要注意的是做生信分析的童鞋使用 conda 環(huán)境時一定要特別注意 conda channels 的設置,濫用 channels 很有可能會導致你的軟件升降級(甚至環(huán)境)錯亂。推薦設置如下(~/.condarc):
channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - defaults show_channels_urls: true
從 2019.04 起清華大學和中科大宣布停止 Anaconda 鏡像服務,但是出于教育科研機構(gòu)使用的前提,在 2019-05-15 清華大學又宣布重新恢復了 Anaconda 鏡像!
因此原來使用國內(nèi)鏡像的 conda 可以根據(jù)自身需求決定是否需要變更新的 channels:
channels: - conda-forge - bioconda - main - free - r - pro - defaults show_channels_urls: true
conda 環(huán)境下的軟件盡量使用 conda、pip 命令去安裝。但同時也產(chǎn)生了一個問題,即 conda 中安裝了 R,有些使用了 install.packages(),install_github,biocLite 等方式安裝的 R 包,在環(huán)境遷移的時候,這些包如何遷移?
conda 4.6.x 切換環(huán)境使用的是:
$ source activate bio-base
conda 4.7.x 后切換環(huán)境變成了:
# To activate this environment, use: > conda activate bio-base # To deactivate an active environment, use: > conda deactivate
問題是,conda-4.7.x 使用推薦的命令切換環(huán)境,還要你 init 初始化一下 conda,不想 init 的話可以用回 4.6.x 的方式切換環(huán)境:
$ conda --versionconda 4.7.5$ conda activate bio-baseCommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.To initialize your shell, run $ conda init <SHELL_NAME>Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershellSee 'conda init --help' for more information and options.IMPORTANT: You may need to close and restart your shell after running 'conda init'.$ source activate bio-base(bio-base) shenweiyan@ecs-steven 10:49:59 /home/shenweiyan$ which python/Bioinfo/Pipeline/SoftWare/Anaconda3/envs/bio-base/bin/python$ source deactivate bio-baseDeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.shenweiyan@ecs-steven 11:03:40 /home/shenweiyan$ source activate bio-base(bio-base) shenweiyan@ecs-steven 11:03:50 /home/shenweiyan$ conda deactivate(bio-base) shenweiyan@ecs-steven 11:03:57 /home/shenweiyan$
使用 conda 命令安裝的包,都可以使用下面的命令導出依賴包/環(huán)境并批量恢復:
# To create a requirements.txt file # Gives you list of packages used for the environment conda list # Save all the info about packages to your folder conda list -e > requirements.txt # To export environment file activate <environment-name> conda env export > <environment-name>.yml # For other person to use the environment conda env create -f <environment-name>.yml # Install via `conda` directly. # This will fail to install all dependencies. If one fails, all dependencies will fail to install. conda install --yes --file requirements.txt # To go around issue above, one can iterate over all lines in the requirements.txt file. while read requirement; do conda install --yes $requirement; done < requirements.txt
R Essentials 軟件包包含 IRKernel 和 80 多種最流行的數(shù)據(jù)科學 R 軟件包,包括 dplyr,shiny,ggplot2,tidyr,caret 和 nnet 等。
Bioconductor 鏡像使用幫助:
#清華大學開源鏡像 options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
source("http://bioconductor.org/biocLite.R") #指定一個離你最近的國內(nèi)鏡像 options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/") biocLite("包名")
biocLite 包批量安裝:
> source("http://bioconductor.org/biocLite.R") > options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor") > data = read.table("r-biocLite.txt", header=T, check.names=F, quote="") > head(data) biocLite_Packages_Name 1 RSQLite 2 KEGGREST 3 png 4 Rcpp 5 digest 6 AnnotationDbi > soft = as.vector(data[,1]) > biocLite(soft)
install.packages()所有 R 包:
> data = read.table("r-packages.txt", header=T, check.names=F, quote="") > soft = as.vector(data[,1]) > install.packages(soft)
對于使用 conda install --yes --file requirements.txt 重裝某一個環(huán)境的所有軟件時,如果軟件中包含了 gcc,安裝了 R 后,在使用 R 時會可能會引發(fā)錯誤:
/path/to/SoftWare/Anaconda/v2/lib/R/bin/exec/R: /path/to/SoftWare/Anaconda/v2/lib/R/bin/exec/../../lib/../../libgomp.so.1: version `GOMP_4.0' not found (required by /path/to/SoftWare/Anaconda/v2/lib/R/bin/exec/../../lib/libR.so)
glibc 是 GNU 發(fā)布的 libc 庫,即 c 運行庫。glibc 是 linux 系統(tǒng)中最底層的 api,幾乎其它任何運行庫都會依賴于 glibc。glibc 除了封裝 linux 操作系統(tǒng)所提供的系統(tǒng)服務外,它本身也提供了許多其它一些必要功能服務的實現(xiàn)。由于 glibc 囊括了幾乎所有的 UNIX 通行的標準,可以想見其內(nèi)容包羅萬象。而就像其他的 UNIX 系統(tǒng)一樣,其內(nèi)含的檔案群分散于系統(tǒng)的樹狀目錄結(jié)構(gòu)中,像一個支架一般撐起整個作業(yè)系統(tǒng)。在 GNU/Linux 系統(tǒng)中,其 C 函式庫發(fā)展史點出了 GNU/Linux 演進的幾個重要里程碑,用 glibc 作為系統(tǒng)的 C 函式庫,是 GNU/Linux 演進的一個重要里程碑。
有一些軟件對于 glibc 的版本會有要求,如 cnvnator-0.3.3 要求 glibc >= 2.14。雖然在 anaconda 中有很多 channel 都提供了 glibc,但千萬注意一定要注意不要輕易去安裝,否則有很大的概率會導致整個環(huán)境掛掉,甚至會導致當前環(huán)境中的 conda、python 出現(xiàn)動態(tài)庫混亂錯誤,恢復起來相當麻煩!
我在《一次"膽戰(zhàn)心驚"的真實集群運維經(jīng)歷》記錄了 gblic 的一些集群吐血經(jīng)歷,感興趣的可以了解一下。
對于 Anaconda(conda) 軟件安裝以及依賴解決的原理,我對這個黑盒子表示一頭霧水。真實的情況是,如果在一個環(huán)境中安裝了幾百個軟件(包),再去新裝軟件,這時候 Anaconda 常常會卡在 Collecting package metadata 和 Solving environment 過程中,甚至一個晚上都沒法解決環(huán)境的依賴。
conda 官方說他們在 conda-4.7 中花了很多的精力去提升了 conda 的速度(參考官方文章:《How We Made Conda Faster in 4.7》),但從 4.6 升級到 4.7 過程很容易導致環(huán)境崩潰,修復起來極其麻煩(反正我折騰了一個晚上都沒能把我的 base 給恢復回來,吐血的經(jīng)歷)!
對于新手而言,Anaconda 的確是非常簡單易用,如果對于多用戶的服務器端,或者是提供公共使用的軟件庫是否需要采用 Anaconda,個人覺得的確需要慎重考慮一下,最起碼需要考慮:
或許還有更多的問題,這里沒有列出來,如果大家有什么更好的想法或者建議,也歡迎留言交流。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經(jīng)網(wǎng)絡(RNN)家族中,長短期記憶網(wǎng)絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數(shù)據(jù)查詢到趨勢預判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網(wǎng)絡(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調(diào)研數(shù)據(jù)中的深度應用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03