[英]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.