Shell 使用conda将虚拟环境克隆到另一个目录中

Shell 使用conda将虚拟环境克隆到另一个目录中,shell,conda,cloning,Shell,Conda,Cloning,我正在共享服务器上工作,试图将虚拟环境myenv克隆到我的主目录中 以下是一些事实: myenv /path to my home directory/my profile/.conda/envs/myenv root * /opt/conda/4.6.14 我目前没有权限将软件包安装到安装区域/opt/conda/4.6.14,因此我尝试使用以下命令将myenv克隆到我的主目录中: conda create -n myenv_clone -p /path to

我正在共享服务器上工作,试图将虚拟环境myenv克隆到我的主目录中

以下是一些事实:

myenv         /path to my home directory/my profile/.conda/envs/myenv
root        * /opt/conda/4.6.14
我目前没有权限将软件包安装到安装区域
/opt/conda/4.6.14
,因此我尝试使用以下命令将
myenv
克隆到我的主目录中:

conda create -n myenv_clone -p /path to my home directory/myprofile --clone=/opt/conda/4.6.14
但是,这给了我一个错误: conda create错误:
--前缀不允许与-n一起使用

我的康达信息输出:

当前conda安装:

           platform : linux-64
      conda version : 4.3.16
   conda is private : False
  conda-env version : 4.3.16
conda-build version : not installed
     python version : 2.7.16.final.0
   requests version : 2.21.0
   root environment : /opt/conda/4.6.14  (read only)
default environment : /opt/conda/4.6.14
   envs directories : /home/bridge/c/sheth7/.conda/envs
                      /opt/conda/4.6.14/envs
      package cache : /home/bridge/c/sheth7/.conda/pkgs
       channel URLs : https://repo.continuum.io/pkgs/free/linux-64
                      https://repo.continuum.io/pkgs/free/noarch
                      https://repo.continuum.io/pkgs/r/linux-64
                      https://repo.continuum.io/pkgs/r/noarch
                      https://repo.continuum.io/pkgs/pro/linux-64
                      https://repo.continuum.io/pkgs/pro/noarch
        config file : /home/bridge/c/sheth7/.condarc
       offline mode : False
         user-agent : conda/4.3.16 requests/2.21.0 CPython/2.7.16 Linux

直接的问题是不能同时使用
--prefix |-p
--name |-n
标志。然而,更广泛的描述听起来似乎这不是真正需要解决的问题。事实上,我不明白你为什么要克隆myenv,它已经在你的主目录下了

由于您没有包含完整的配置信息(例如,
conda info
),因此我无法确切说明情况,但表面上看,问题似乎不是写入
envs
目录,而是关于
pkgs
目录

查看
conda config--description envs_dirs pkgs_dirs
文档。既然你已经有了myenv,我想你应该做点什么:

conda config --append envs_dirs "/path to my home directory/my profile/.conda/envs"
mkdir -p "/path to my home directory/my profile/.conda/pkgs"
conda config --append pkgs_dirs "/path to my home directory/my profile/.conda/pkgs"

那么你应该能够正常使用Conda。也就是说,如果您在更高优先级的位置没有权限,它将自动退回到写入这些目录。因此,您甚至不需要克隆myenv来安装软件包

请编辑您的问题,将
conda config--show envs_dirs pkgs_dirs
的输出包括在内。另外,目录名(4.6.14)和报告的conda版本(4.3.16)之间的差异是什么?那太老了。如果你不能更新它,也许你应该考虑一个你自己的MimCiNDA安装,避免完全尝试处理中心的。谢谢Melv。版本差异是我所有问题的根源。我确定在.local中安装了较旧的conda版本。使用
rm-r
删除此旧版本解决了此问题。编辑此问题以包括我的conda配置。看起来我已经正确配置了envs_dirs和pkgs_dirs。但是,软件包安装仍在根文件夹上进行,该文件夹不可访问。@sheth7是试图安装到根文件夹的吗?我不认为这将工作,但我希望安装到myenv工作。另外,当您运行
conda create-n myenv\u clone--clone myenv
时会发生什么?它无法找到myenv condaenv环境notfound错误:无法找到环境:myenv。[sheth7@autobahn~]$conda info--envs#conda环境:root*/opt/conda/4.6。14@sheth7我很困惑。那么,你在最初的问题中报告了什么?您首先是如何列出myenv的?我可以通过指定一个--prefix来创建myenv,但是当我尝试访问它时,它找不到它。这表示路径跟踪存在问题。然而,我想不出解决办法。此外,一个问题是我使用的是csh shell。我把它改成了bashshell。但它仍然不起作用。