簡體   English   中英

如何創建具有特定 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/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

是否可以在該特定環境中使用命令pythonipython訪問 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM