You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无root权限下在Linux Conda环境安装libgcrypt-1.5.3-14.el7.x86_64.rpm问询

无Root权限下在Conda环境手动安装libgcrypt-1.5.3-14.el7.x86_64.rpm的方法

问题背景

需在Linux的Conda环境中安装libgcrypt-1.5.3-14.el7.x86_64.rpm,但无root权限,常规安装方法失效。代码作者指出安装该RPM可解决运行元强化学习代码时的报错,提示将文件解压到用户专属的类root存储空间(搭建自定义环境时存放环境文件的位置)即可解决问题。

报错信息

Traceback (most recent call last):
 File "/home/yan/cemrl/analysis_runner.py", line 275, in <module>
  main()
 File "/home/yan/miniconda3/envs/test1/lib/python3.9/site-packages/click/core.py", line 1137, in __call__
   return self.main(*args, **kwargs)
 File "/home/yan/miniconda3/envs/test1/lib/python3.9/site-packages/click/core.py", line 1062, in main
   rv = self.invoke(ctx)
 File "/home/yan/miniconda3/envs/test1/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
   return ctx.invoke(self.callback, **ctx.params)
 File "/home/yan/miniconda3/envs/test1/lib/python3.9/site-packages/click/core.py", line 763, in invoke
   return __callback(*args, **kwargs)
 File "/home/yan/cemrl/analysis_runner.py", line 272, in main
   analysis(variant, cemrl_compatibility)
 File "/home/yan/cemrl/analysis_runner.py", line 31, in analysis
   res = analysis(variant, cemrl_compatibility)
 File "/home/yan/cemrl/analysis_runner.py", line 42, in analysis
   initialize_networks(variant, env, experiment_log_dir)
 File "/home/yan/cemrl/philipp_runner.py", line 163, in initialize_networks
   exploration_agent = construct_exploration_agent(
 File "/home/yan/cemrl/cemrl_edited/exploration_agent.py", line 36, in construct_exploration_agent
   return EnsembleURLBAgent(num_exploration_ensemble_agents, env_name, env_args, exploration_type, experiment_log_dir, max_timesteps, exploration_pretraining_steps, showcase_itr, state_preprocessor)
 File "/home/yan/cemrl/cemrl_edited/exploration_agent.py", line 253, in __init__
   self.agents.append(URLBAgent(*args, ensemble_id=i, **kwargs))
 File "/home/yan/cemrl/cemrl_edited/exploration_agent.py", line 156, in __init__
   self.train_env = URLBAgent.URLBEnvWrapper(env, max_timesteps)
TypeError: Can't instantiate abstract class URLBEnvWrapper with abstract methods reset, step

手动安装步骤

1. 解压RPM包到临时目录

使用rpm2cpio和cpio工具解压RPM包(无需root权限):

# 创建临时目录
mkdir -p ~/temp_libgcrypt
cd ~/temp_libgcrypt

# 替换为你的RPM文件实际路径
rpm2cpio /path/to/libgcrypt-1.5.3-14.el7.x86_64.rpm | cpio -idmv

2. 复制文件到目标位置

根据作者提示,可选择将文件复制到Conda环境目录或用户专属本地存储目录:

选项A:直接复制到Conda环境

将解压后的库文件和头文件复制到你的Conda环境(示例为test1)对应目录:

# 复制库文件
cp -r usr/lib64/* ~/miniconda3/envs/test1/lib/

# 复制头文件(如果存在)
cp -r usr/include/* ~/miniconda3/envs/test1/include/

选项B:复制到用户专属本地存储

如果偏好使用独立的用户本地存储,先创建目录再复制:

# 创建用户本地存储目录
mkdir -p ~/local/lib ~/local/include

# 复制文件
cp -r usr/lib64/* ~/local/lib/
cp -r usr/include/* ~/local/include/

然后设置环境变量,确保系统能找到这些文件:

export LD_LIBRARY_PATH=~/local/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=~/local/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=~/local/include:$CPLUS_INCLUDE_PATH

若需永久生效,可将上述环境变量添加到Conda环境的激活脚本中:

mkdir -p ~/miniconda3/envs/test1/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=~/local/lib:$LD_LIBRARY_PATH' >> ~/miniconda3/envs/test1/etc/conda/activate.d/env_vars.sh
echo 'export C_INCLUDE_PATH=~/local/include:$C_INCLUDE_PATH' >> ~/miniconda3/envs/test1/etc/conda/activate.d/env_vars.sh
echo 'export CPLUS_INCLUDE_PATH=~/local/include:$CPLUS_INCLUDE_PATH' >> ~/miniconda3/envs/test1/etc/conda/activate.d/env_vars.sh

3. 验证安装

运行以下命令检查库文件是否可被识别:

ldd ~/miniconda3/envs/test1/lib/libgcrypt.so.11
# 若用选项B则执行:ldd ~/local/lib/libgcrypt.so.11

之后重新运行你的元强化学习代码,确认报错是否消失。

内容的提问来源于stack exchange,提问作者Yanm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 21:12:47