社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python初体验之你需要加快你的模块安装速度

生信技能树 • 1 年前 • 294 次点击  

我们前些天的推文:简单绘制一个3D效果的饼图吧,对比了R语言和Python的可视化效果,成功的吸引了不少小伙伴入坑Python编程语言,而且它确实是在单细胞数据处理领域占比有超越R的趋势,所以有必要开辟一个Python专辑啦。然后呢,开始学习一个编程语言,我们肯定是首先得安装好它,比如前面我们讲解了Python的安装,它多个版本的差异以及管理,详见:Python初体验之弄清楚版本差异和如何安装管理

通常情况下,我们拿到了Python代码后在运行它的过程中大概率上需要加载很多Python模块,但是对初学者的电脑来说,是接近于空白的,需要一个个模块自己安装。如果我们类比R语言来说,安装R包的代码是非常简洁,如下所示的规律代码安装任意包:

# https://bioconductor.org/packages/release/bioc/html/GEOquery.html
if (!requireNamespace("BiocManager", quietly = TRUE))
 install.packages("BiocManager")
BiocManager::install("KEGG.db",ask = F,update = F)
BiocManager::install(c("GSEABase","GSVA","clusterProfiler" ),ask = F,update = F)
BiocManager::install(c("GEOquery","limma","impute" ),ask = F,update = F)
BiocManager::install(c("org.Hs.eg.db","hgu133plus2.db" ),ask = F,update = F)

实际上,大家即使是没有学习过R包安装,也可以看得懂上面的代码的规律,只需要变化上面的代码里面的R包名字,就可以一行行运行代码来安装指定的包了!

当然了,说这样的简单其实仅仅是因为 “难者不会,会者不难”。一个擅长R语言的小伙伴去使用Python,如果也想如此快捷的批量安装Python的模块,就会很麻烦了。如果没有对应的Python的模块,那么第一个经典的报错如下所示:

经典的报错

这就是Python的初学者一定会遇到的这样的报错,说缺某个模块啦 :

   import pandas as pd
ModuleNotFoundError: No module named 'pandas'

前面我们介绍了由JetBrains公司开发的专业Python IDE(PyCharm) 来辅助我们安装Python模块啦 , 大家可以提前熟悉这个IDE的一些按键,:

这个IDE的一些按键

可以通过这个IDE来打开终端, 每个人的电脑也有很多其它开启终端的方法。在这个终端可以使用pip的install命令来安装任意成熟的Python模块,如下所示:

使用pip的install命令来

很明显的可以看到,它的网络速度非常慢。。。

因为我们绝大部分人都是在中国大陆地区,所以也是需要通过设置合理的镜像来加快你的模块安装速度!

 pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple 

基本上就是无敌的速度了:

无敌的速度

同样的,我们可以一次性安装多个Python的常见的模块,如下所示的代码:

 pip install seaborn matplotlib numpy  -i https://pypi.tuna.tsinghua.edu.cn/simple 

也可以把多个Python的模块和对应的版本写到requirements.txt文件里,用pip -r requirements.txt安装 ,这样的话整理不同的Python的模块和对应的版本需要花费时间但是它们就不容易出现版本冲突,一劳永逸。

如果对比R语言,其实它的批量安装R包还麻烦一点,这个技巧我在移植一些shiny应用程序就用到过:

list.of.packages "shiny",
                      "tidyr",
                      'tidyverse'
                      "clusterProfiler",
                      "DT",
                      "ashr",
                      "enrichplot",
                      "plotly")
# 这个 list.of.packages 变量,可以是读取一个含有无数个包的名字的文本文件。
all_packages = rownames(installed.packages())
save(all_packages,file = 'all_packages.Rdata')

#checking missing packages from list
new.packages in% installed.packages()[,"Package"])]
new.packages 
packToInst packToInst
if(T){
  lapply(packToInst, function(x){
    BiocManager::install(x,ask = F,update = F)
  })
}
lapply(intersect(packagesReq, installed.packages()),function(x){
  suppressPackageStartupMessages(library(x,character.only = T))
})

 


如果大家已经安装配置好了自己的Python环境,就可以把前些天的推文:简单绘制一个3D效果的饼图吧里面的Python可视化代码敲一下,如果是Python编程经验充足,也可以直接看看我们在《单细胞天地》的Python实战笔记哈:

Python图文复现2022

scanpy官方教程2022

如果你需要Python编程书籍

看了看主流的平台差不多是图灵社区整理的最齐全了,详见:年度书单盘点 | 豆瓣高分,值得反复刷的Python好书

Python编程书籍


文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

生信Python初体验1


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166229
 
294 次点击