SCENIC+/scenicplus安装遇到的一些问题

本文讲述了作者在Linux系统中作为非root用户安装scenicplus库时遇到的挑战,包括依赖Rust的编译问题和annoy库安装错误,以及解决过程中的不同版本curl和gcc升级方法。
摘要由CSDN通过智能技术生成

我的情况: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了,到这里就安装完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值