如何创建具有特定 python 版本的 conda 环境?

How to create conda environment with specific python version?

我已经安装了 miniconda3,因为我想要一个 python 版本 3.3.0 的环境,所以我通过

创建了它
conda create -n "myenv" python=3.3.0

但是当我通过

激活环境时
conda activate myenv

python 有版本 2.7.15 和路径

/usr/bin/python

和ipython有python版本3.6.8和路径

/home/myname/.local/bin/ipython

我可以使用位于

python3 访问正确的 python
/home/myname/miniconda3/envs/mattention/bin/python3

然而,ipython3 又 python 版本 3.6.8。

conda install python=3.3.0

保持不变。

一个解决方案是通过

打开IPython
python3 -m IPython

然而,虽然这对 python 工作正常,但我收到错误消息

/home/myname/miniconda3/envs/mattention/bin/python3: No module named IPython

是否可以在该特定环境中使用命令 pythonipython 访问两个 python 版本 3.3.0,即不通过在 [=26] 中设置别名=]?

编辑:

事实证明,如果您 select 版本 3.3 而不是 3.3.0 以及@ilmarinen 的回答

,则不会出现此问题
conda create -n "myenv" python=3.3 ipython

一切正常,python 以及 ipython 版本 python 3.3.5.

您还需要将 ipython 安装到给定的环境中

conda create -n "myenv" python=3.3.0 ipython

conda 环境已添加到您的 PATH 变量中,因此当您尝试 运行 可执行文件 "ipython" 时,Linux 将不会在您激活的文件中找到 "ipython"环境(因为那里不存在),但它将继续搜索它,并最终在您安装它的任何地方找到它。

要使用 python 3.3.0 创建名为 py33 的环境,使用通道 conda-forge 和软件包列表:

conda create -y --name py33 python==3.3.0
conda install -f -y -q --name py33 -c conda-forge --file requirements.txt
conda activate py33
...
conda deactivate

或者您可以创建 environment.yml 文件而不是 requirements.txt:

name: py33
channels:
  - conda-forge
dependencies:
  - python=3.3.0
  - ipython

使用此命令删除环境:

conda env remove -n py33

我有类似的问题。而且我找不到很多有用的讨论。

我的问题是当我执行 conda init zsh 时,我的 python 别名硬编码在我的 shell 配置文件中的 miniconda python。 init 进程以某种方式复制了别名并总是重新加载它,从而覆盖了 "correct" 版本。

conda create -n py27 python=2.7后(我的系统默认是3.6),版本正确安装在miniconda3/envs/py27/bin/python。但是激活的环境 python 没有指向它,如 which python 所示,即使我删除更新了我的 shell 配置。

最后通过'reverse'conda init解决(去掉.zshrc中生成的conda函数),去掉alias,重新init。

我猜其他 shell 也在使用相同的机制。