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'
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]#
使用subprocess模块的目的是用于替换os.system等一些旧的模块和方法。
运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序。
subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本
安装 三方库时报错
·Can not execute since setuptools is not available in the build environment·尝试 更新 pip setuptools 问题解决
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools
查资料发现windows或者mac就可以用上面的pip install -U wxPython
linux需要用另一种pip方法:pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 wxPython
!!!如果还是报错的话,就用下面的方法:
1、首先需要查询当前ubuntu版本:
2、到wxpython官网下载对应ubuntu版本和python
args,shell的命令,是字符串,可以自己定义;
stdout,标准输出,linux标准的输出是往屏幕上输出;subprocess.PIPE,告诉subprocess在执行命令的时候,将所有的标准的输出保存起来。stderr,标准错误输出;
"check=True",检查前面的args参数命令执行是否成功,成功不报错,不成就python程序就报错,python程序就停止。这个check默认为Fals.
2. 然后输入以下命令以安装Java:sudo apt-get install default-jre
3. 您还可以安装Java开发工具包(JDK):sudo apt-get install default-jdk
4. 安装完成后,您可以通过输入以下命令来检查Java版本:java -version
希望这可以帮助您安装Java。