我的情况:Linux非root用户
官网教程:
$ conda create --name scenicplus python=3.11 -y
$ conda activate scenicplus
$ git clone https://github.com/aertslab/scenicplus
$ cd scenicplus
$ pip install .
1.创建环境就按照官网说的python版本,激活再到环境目录里面去
$ conda create --name scenicplus python=3.11 -y
$ conda activate scenicplus
$ cd ./conda/envs/scenicplus/
2.目前的话最新的git clone 是这个代码,自己去github看一下就ok
https://github.com/aertslab/scenicplus.git
如果下载不下来就下载github上的.zip压缩包,在终端使用unzip解压这个文件
unzip <scenicplus>.zip
3.然后再cd到这个包里面去
cd <scenicplus>
使用pip命令install
pip install .
4.如果运气好不报错按照官方的流程就安装完毕了,但是我自己在安装的时候遇到不少问题
在pip install . 的时候,在解析pyproject.toml的时候报错:This package requires Rust and Cargo to compile extensions. 于是我就想去下载这个rust,找到它的官网,安装命令如下
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
5.在这里的时候报错curl: (1) Protocol “https“ not supported or disabled in libcurl
于是查看curl版本
curl -V
curl 7.38.0 (x86_64-unknown-linux-gnu) libcurl/7.38.0 zlib/1.2.11
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp
Features: IPv6 Largefile libz
Protocols里面不支持https协议,所以这个版本不行,试过重装,但是需要root权限,后来在我们服务器另一个节点里发现
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
这个版本支持https,于是在这个节点下我安装好了rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
如果你是非root用户在这里遇到困难,无法安装rust,可以联系你的管理员帮你升级curl版本
6.重新
pip install .
这次可以安装好了scenicplus,但是有一条报错说我无法安装annoy
Failed to build annoy ERROR: Could not build wheels for annoy, which is required to install pyproject.toml-based projects
7.安装annoy
pip install annoy=1.17.3
或者:
git clone https://github.com/spotify/annoy.git
cd annoy
python setup.py install
报错gcc: error: unrecognized command line option ‘-std=c++14’
error: command '/usr/bin/gcc' failed with exit code 1
8.在终端查看gcc
gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36),这个版本应该是太老了
module avail
查找当前其他可用的gcc,我找到一个8.2.0,然后
module load gcc/8.2.0
这样当前gcc就成了这个版本,这样就能安装annoy了,到这里就安装完了。