简介
pyseer是进行GWAS的常用工具,然而pyseer不支持windows系统
问题
我尝试过使用python3源码包的pip命令安装pyseer,但都没有成功,只好找源码包下载安装(这就要自己装依赖)。
但是pyseer的相关依赖使用源码包下载的python3只带的pip安装十分费劲,官方教程提供的依赖模块版本,在我的虚拟机中使用pip下载,不是安装失败,就是python3导入报错。
问题解决
安装miniconda,使用conda建立虚拟环境来安装pyseer,同时会自动安装麻烦的依赖。
安装miniconda的教程:Miniconda软件安装教程(Linux)
要在命令行里让conda命令生效,需要在家目录下的.bashrc,添加上conda的bin文件夹到环境变量:
根据这个教程安装miniconda,速度很快。
miniconda对虚拟环境的管理
#建立虚拟环境:
#在目录/usr/local/miniconda3/envs里建立虚拟环境virtual,指定python版本3.6
conda create -n virtual python=3.6
#查看当前的环境:
conda env list
#删除虚拟环境:
conda remove -n virtual --all
例子 在指定的文件建立、删除虚拟环境:
[f@FF ~]$ conda create --prefix /home/f/virtual python=3.5
删除就用rm删除吧
[f@FF ~]$ conda env list
# conda environments:
#
/home/f/virtual
base * /usr/local/miniconda3
virtual1 /usr/local/miniconda3/envs/virtual1
[f@FF ~]$ rm -Rf /home/f/virtual
[f@FF ~]$ conda env list
# conda environments:
#
base * /usr/local/miniconda3
virtual1 /usr/local/miniconda3/envs/virtual1
[f@FF ~]$
虚拟环境的激活和失活:
#进入虚拟环境virtual1:
[f@FF ~]$ source activate virtual1
(virtual1) [f@FF ~]$
#退出虚拟环境:
(virtual1) [f@FF ~]$ conda deactivate
[f@FF ~]$
安装pyseer的相关报错和解决:
报错1:ModuleNotFoundError: No module named 'setuptools._distutils'
报错2:
Collecting DendroPy
Using cached DendroPy-4.5.2.tar.gz (15.2 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
ERROR: Can not execute `setup.py` since setuptools is not available in the build environment.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details
报错解决:更新pip再更新setuptools
#更新pip:
python -m pip install --upgrade pip
#更新setuptools:
pip install -U setuptools --target=<your virtual environment site-packages path>
补充:
更新setuptools为64版本后,查看调用的setuptools的版本还是36版本:
#查看命令:
pip show setuptools
原因就是更新时没有权限将旧包删掉,虽说安装上了新的包,但是新包没被调用,需要用--target选项指定setuptools的安装位置
最后查看pyseer模块版本,成功安装!
(virtual1) [root@FF f]# python -m pyseer --version
pyseer 1.1.0
(virtual1) [root@FF f]#