Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用非bash shell安装Conda_Python_Bash_Shell_Anaconda - Fatal编程技术网

Python 使用非bash shell安装Conda

Python 使用非bash shell安装Conda,python,bash,shell,anaconda,Python,Bash,Shell,Anaconda,由于未知的“历史”原因,我的工作默认为所有linux和mac机器的tcsh。我们正试图使用Conda向公众发布我们的一系列代码。但Conda似乎是bash唯一的实现,这对世界其他地方来说并不是问题。我无法将其安装到tcsh shell中,并且在Conda中找到了一些对zsh的引用,但我无法判断Conda是否是一个仅限bash的实现,或者它是否会在其他shell中实际工作。虽然我可以很容易地从tcsh终端窗口启动bash,但这只是一个小麻烦 因此,我想知道的是:Conda是否在其他shell类型中

由于未知的“历史”原因,我的工作默认为所有linux和mac机器的tcsh。我们正试图使用Conda向公众发布我们的一系列代码。但Conda似乎是bash唯一的实现,这对世界其他地方来说并不是问题。我无法将其安装到tcsh shell中,并且在Conda中找到了一些对zsh的引用,但我无法判断Conda是否是一个仅限bash的实现,或者它是否会在其他shell中实际工作。虽然我可以很容易地从tcsh终端窗口启动bash,但这只是一个小麻烦


因此,我想知道的是:Conda是否在其他shell类型中工作,如果不工作,原因是什么?

在bash或zsh之外使用
Conda
的主要问题是,它需要
activate
deactivate
脚本来修改本地环境,这意味着它们必须是源代码,而不是在子shell中执行。
activate
中的第二条语句检查您是否从支持的shell之一运行:

# Determine the directory containing this script
if [[ -n $BASH_VERSION ]]; then
    _SCRIPT_LOCATION=${BASH_SOURCE[0]}
elif [[ -n $ZSH_VERSION ]]; then
    _SCRIPT_LOCATION=${funcstack[1]}
else
    echo "Only bash and zsh are supported"
    return 1
fi
对此你无能为力。然而,当我在
tcsh
中手动设置
PATH
变量时,我很幸运地使用了一个现有的conda环境:如果您将根目录或自定义环境的
bin
文件夹前缀为
PATH
,您应该能够继续工作


但是,我不确定您是否可以(从未尝试过)在
bash
之外安装conda或修改环境。

这是整个讨论的一个非常晚的附加组件。但它可能会帮助其他遇到同样问题的人。不幸的是,我只在tcsh外壳中尝试过这个

如中所述,在bash以外的shell中运行conda不再是什么问题(即使用bash installer.sh)。从康达4.4开始。现在似乎有一个
conda activate myenv
功能。 和康达4.6。有一个
conda init
脚本,它应该在必要的配置文件(~/.bashrc、~/.tcshrc等)中添加使用
conda activate myenv
(而不是source activate myenv)的所有必要内容。因此,它可以与多个壳一起运行

然而,对于Miniconda3和Conda4.6,这似乎仍然不能完美地工作(CondaInit tcsh抛出了一个错误,github上存在一个问题)。
但我找到了一个可能的解决办法。通过将
source/minicondaX/etc/profile.d/conda.csh
添加到~/.tcshrc文件中,您应该能够在tcsh中使用
conda activate myenv

所以Conda实际上是围绕bash和zsh shell编写的。“我想我不会冒险让它使用另一个炮弹。”veda905。差不多就是它的大小。他们的目标是大多数用户,这意味着在未来几年中主要是bash和更多的zsh。虽然这在直接意义上是不幸的,但它可能会促使您的公司使用比tcsh功能更丰富的shell。