簡體   English   中英

Python Anaconda:我應該在 linux 中使用 `conda activate` 還是 `source activate`

[英]Python Anaconda: should I use `conda activate` or `source activate` in linux

所以我習慣在啟動 python Anaconda 環境時輸入source activate <environment> 那很好用。 但是,當我創建新的 conda 環境時,我在 Ubuntu 16.04 上看到消息,改為使用 conda conda activate啟動環境。 除了有關如何設置我的 shell 以改為使用 conda conda activate的錯誤外,我仍然不清楚source activate...conda activate...之間的區別是什么?是否有更改的理由? 有誰知道這兩個命令之間的區別? 謝謝。

從 conda 4.4 開始, conda activate是激活環境的首選方式。 通常,您不會發現conda activate和舊source activate之間有太大區別,只是它意味着更快,並且在不同的操作系統上工作相同(后者的差異使conda activate有了巨大的改進 IMO)。

文檔中,關於 conda 4.4.0版(2017 年 12 月發布)的發布:

conda activate:重新設計了環境激活的邏輯和機制。 在 conda 4.4 中, conda activate 和 conda terminate 現在是用於激活和停用環境的首選命令。 您會發現它們比以前 conda 版本中的 source activate 和 source activate 命令更加快捷。 conda activate 命令還具有以下優點:(1) 在所有操作系統、shell 和平台上通用,以及 (2) 不會與來自其他包(如 python virtualenv 的 activate 腳本)的腳本發生路徑沖突。

這是我發現的一個區別。 source activate可以在 bash 腳本的開頭使用來加載 conda 環境,而conda activate會給我一個錯誤:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

這對我產生了巨大的影響,因為我經常將 bash 作業提交到集群,而source activate是更改 conda 環境的唯一方法。

如果有人可以在 bash 腳本中使用conda activate ,請糾正我。

我不確定誰會覺得這很有用,但如果

  1. 由於添加 >>>> conda initialize,您的終端滯后

    " 在您的 .bashrc 中,然后您決定將其刪除並將 anaconda 添加到路徑中。如果是這種情況,則“conda activate env_name”將不起作用,但“source activate env_name”將起作用,然后,您可以使用 source activate 或 conda activate。如果您關閉 shell 然后再次激活環境,請使用“source activate env_name”

  2. 僅供參考,從我的 .bashrc 文件中刪除 >>> conda initialize >>>" 加速了我的終端,它不再滯后,我只是默認使用“source activate env_name”
  3. 我有 Ubuntu 20.04,conda 版本:4.10.3,conda-build 版本:3.21.5

我在 Mac OS 上使用 Anaconda Navigator 1.8.2 和 Spyder 3.2.8,我認為類似於 Linux。

使用 Anaconda 安裝 virtualenv 非常容易:

創建一個新的虛擬環境

選擇python版本

安裝包

然后安裝你想要的包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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