如何创建具有特定 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
是否可以在该特定环境中使用命令 python
和 ipython
访问两个 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 也在使用相同的机制。
我已经安装了 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
保持不变。
一个解决方案是通过
打开IPythonpython3 -m IPython
然而,虽然这对 python
工作正常,但我收到错误消息
/home/myname/miniconda3/envs/mattention/bin/python3: No module named IPython
是否可以在该特定环境中使用命令 python
和 ipython
访问两个 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 也在使用相同的机制。