conda相当于pip install --user

33

我可以使用以下方式安装到自己的目录:

pip install --user package

或者我可以使用

conda install package

Conda不支持--user标志,那么我如何请求Conda将软件包安装到我的主目录中呢?

将pip软件包安装到$HOME文件夹中

8个回答

15

我不认为这是可能的。使用虚拟环境 (conda create)。


9

在这里查看有关-p选项的信息

 -p PATH, --prefix PATH
              Full path to environment prefix.

如果你想要将安装文件安装到你的主目录下的 local 文件夹中,可以执行以下命令:

conda install -p $HOME/local packagename

需要注意的是,这并不是一个“干净”的安装,因为它会添加一堆与 conda 相关的文件。


9
为了在您自己的目录上安装conda包,您可以按照以下步骤操作:
  1. Create a blank environment

    conda create -y -n my-conda-env
    

    Replace the name my-conda-env with any name you want to give the environment.

  2. Activate the environment

    source activate my-conda-env
    

    Don't forget to replace my-conda-env with the name you gave the conda environment from the previous step

  3. Install your package

    conda install -c bioconda epa-ng
    

就这些,该软件包应该已经安装在你自己的目录中了


如果我想在本地目录中执行conda更新:conda update conda,该怎么办?似乎我只能基于现有的conda安装软件包。 - ArtificiallyIntelligence

0
当前的Anaconda安装个人版,当在Linux本地账户中运行时,会安装在本地目录中。因此,所有后续的安装也应该安装在那里。

0

我不知道`--user`标志的确切匹配项,但一个合理的类比是使用虚拟环境。

当我需要安装到一个我没有管理员权限的共享CentOS服务器时,我会这样做:

首先我运行

conda env list

将列出所有的conda虚拟环境并显示每个环境的路径。一旦你创建了环境并且可以在conda env list中看到它,就复制环境的路径。

如果您需要创建一个,可以使用conda create或运行anaconda-navigator并使用GUI进行创建。

使用下列命令激活您的环境(如果未激活):

conda activate [environment_name]

或者

activate [environment_name]

根据您的系统而定(大多数Linux系统使用第一种,Windows和CentOS使用后者)。

现在,您可以使用以下命令:

conda install -p [environment_path] [package_name]

然后您就可以愉快地使用了。

这只是一个解决方法;它可能不是最好的方法,但是它确实可以将软件包安装到所选的虚拟环境中。


0
除了Andrey Portnoy提到的方法,您还可以在.condarc文件中定义默认环境路径
您可以通过检查键envs directories来检查conda当前使用的环境目录。
conda info

创建新的命名环境时,conda会将该环境放置在列表中第一个可写环境中。

因此,为了更改默认环境路径,我已经在我的$HOME目录下的.condarc文件中添加了以下行。

envs_dirs:
  - /Users/myusername/.conda/envs
  - /usr/local/Caskroom/miniconda/base/envs

0

简单地说:

sudo conda install -c conda-forge package

或者:

sudo chmod -R 777 ./
conda install -c conda-forge package

-7
根据文档:

--use-local


根据文档说明:

8
使用此方法,我仍然会收到“当前用户没有写入目标环境的权限”的提示。 - Blade
18
这个回答不正确。文档中说 '--use-local' 等同于 '-c local',意味着它使用本地渠道作为软件包源,而不是安装到本地用户。 - D. Ror.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接