[英]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/myenv/bin/python3
但是, ipython3
再次具有 python 版本 3.6.8。
conda install python=3.3.0
保持现状不变。
一个解决方案是通过打开 IPython
python3 -m IPython
然而,虽然这适用于python
在这里我收到错误消息
/home/myname/miniconda3/envs/myenv/bin/python3: No module named IPython
是否可以在该特定环境中使用命令python
和ipython
访问 python 版本 3.3.0,即不是通过在.bashrc
中设置别名来访问?
编辑:
事实证明,如果您使用 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
时,我在我的 shell 配置文件中硬编码了将 python 指向 miniconda python 的别名。 init 进程以某种方式复制别名并始终重新加载它,从而覆盖“正确”版本。
conda create -n py27 python=2.7
(我的系统默认是3.6)后,版本正确安装在miniconda3/envs/py27/bin/python
。 但是激活的环境 python 并没有指向它,正如which python
所指示的那样,即使我删除了更新的 shell 配置。
最后它通过'reverse' conda init 解决(删除 .zshrc 中生成的.zshrc
函数),删除别名并重新初始化。
我猜其他shell正在使用相同的机制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.