簡體   English   中英

Zsh:未找到 Conda/Pip 安裝命令

[英]Zsh: Conda/Pip installs command not found

所以我安裝了Anaconda並且一切正常。 安裝后,我決定切換到oh-my-zsh 我現在得到:

zsh: command not found: conda

嘗試使用pipconda安裝時

echo $ZSH_VERSION

5.0.5

我已添加到我的zshenv.sh

export PATH ="/Users/Dz/anaconda/bin:$PATH"

我錯過了什么?

我找到了一個簡單的方法。 只需按照以下步驟操作:

  1. 在終端中,輸入vim ~/.zshrc 在此處輸入圖像描述
  2. source ~/.bash_profile添加到 .zshrc 文件中在此處輸入圖像描述
  3. 然后在終端中,輸入source ~/.zshrc 在此處輸入圖像描述

恭喜你!!! ㊗️🎉🎉🎉

如果您使用的是 macOS Catalina,則新的默認 shell 是 zsh。 您將需要運行 source /bin/activate,然后運行 ​​conda init zsh。 例如:我安裝了anaconda python 3.7版本,輸入echo $USER查找用戶名

source /Users/my_username/opt/anaconda3/bin/activate

遵從

conda init zsh

或(對於 bash shell)

conda init

檢查工作:

conda list

錯誤將得到修復。

截至今天 2018 年 11 月 4 日,以下所有方法都有效,安裝 zsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

建議為 zsh 安裝 brew:

brew install zsh zsh-completions 

PS:嘗試在根目錄下使用 brew 和 brew install ,但由於安全性和所有相關的時間都需要在 sudo 下啟動,這樣做並不是一個明智的主意,所以最好堅持使用curlwget

在安裝了 oh-my-zsh 的 OS X 中進行工作 conda 是添加如下路徑並將工作。

找到 python 路徑,以便查看您是否安裝了 Anaconda2 或 Anaconda3: where pythonwhich python將產生類似的輸出:

/usr/bin/python
/Users/"username"/anaconda/bin/python # # previous path for anaconda
/Users/"username"/anaconda3/bin/python # # previous path for anaconda3
/Users/"username"/opt/anaconda/bin/python # # for current path anaconda
/Users/"username"/opt/anaconda3/bin/python # # for current path for anaconda3

一行配置命令:

echo -e '# >>> anaconda conda config >>> \nPATH="$HOME/opt/anaconda3/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc && conda init

注意:Anaconda 不建議按照以下步驟手動添加路徑:我應該將 Anaconda 添加到 macOS 還是 Linux PATH?

我們不建議手動將 Anaconda 添加到 PATH。 在安裝過程中,系統會詢問您“您是否希望安裝程序通過運行 conda init 來初始化 Anaconda3?” 我們建議“是”。 如果您輸入“no”,那么 conda 根本不會修改您的 shell 腳本。 為了在安裝過程完成后進行初始化,首先運行 source /bin/activate 然后運行 ​​conda init。

Note:

Replace <path-to-anaconda> with the actual path of your installed Anaconda file.

安裝 Anaconda 的默認路徑是什么?

如果您接受在“默認路徑”上安裝 Anaconda 的默認選項,Anaconda 將安裝在您的用戶主目錄中:

  • Windows 10:C:\Users<您的用戶名>\Anaconda3\

  • macOS:/Users//anaconda3 用於 shell 安裝,~/opt 用於圖形安裝。 請參閱在 macOS 上安裝

  • Linux:/home//anaconda3

如果您的用戶名包含空格(這在 Windows 系統上很常見),則不應接受默認路徑。 請參閱我應該在 Windows 上的哪個文件夾中安裝 Anaconda?

我已經安裝了 Python。 我可以安裝 Anaconda 嗎?

在安裝 Anaconda 之前,您無需卸載其他 Python 安裝或軟件包。 即使您已經有一個系統 Python、另一個來自macOS Homebrew包管理器等源的 Python 安裝以及來自pip的全局安裝包(如pandasNumPy ),您也無需卸載、刪除或更改其中的任何一個

正常安裝 Anaconda 或 Miniconda。 無需設置PYTHONPATH環境變量。

要查看 Python 的 conda 安裝是否在您的 PATH 變量中:

  • 在 macOS 和 Linux 上,打開終端並運行 echo $PATH

  • 在 Windows 上,打開 Anaconda Prompt 並運行 echo %PATH%

要查看當前設置為默認的 Python 安裝:

  • 在 macOS 和 Linux 上,打開終端並運行which python
  • 在 Windows 上,打開 Anaconda Prompt 並運行where python

要查看當前 conda 環境中安裝了哪些軟件包及其版本號,請在終端窗口或 Anaconda Prompt 中運行conda list

有關手動添加的詳細信息,請參閱以下信息:

找到你的 Anaconda Python 解釋器路徑

vi ~/.zshrcgedit ~/.zshrc

Anaconda 更新為使用類似於 Anaconda 企業版路徑/opt/... @update Dec 2021:對於字段# User configuration添加的 Anaconda3:

PATH="$HOME/opt/anaconda3/bin:$PATH"

對於 Anaconda:在字段# User configuration添加:

`PATH="$HOME/anaconda/bin:$PATH"`

對於字段# User configuration中的 Anaconda2,添加:

  `PATH="$HOME/anaconda/bin:$PATH"`

對於字段# User configuration添加的 Anaconda3:

`PATH="$HOME/anaconda3/bin:$PATH"`

或用您的用戶名替換“用戶名”:

`PATH="/Users/"username"/anaconda3/bin:$PATH`

根據在 macOS 上安裝的文檔,我們添加了~/.zshrc而不是.bashrc or .bash_profile

  • 在 ~/.zshrc 中添加 export PATH="/<path to anaconda>/bin:$PATH"

  • 或者設置 PATH 變量: export PATH="/<path to anaconda>/bin:$PATH"

“<path to anaconda>”替換為 Anaconda 安裝的實際路徑。

此方法也適用於 ubuntu/Centos7/MacOS(完成更改后只需關閉/重置終端),而不僅僅是鍵入conda進行測試。


每個@truongnm 評論只是添加路徑后的來源:“我從我的 bash_profile 粘貼了路徑,不要忘記source ~/.zshrc

看來我的.zshrc文件中的 PATH 已損壞。

打開它並添加:

export PATH="$PATH;/Users/Dz/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Dz/.rvm/bin"

嗬! 那么這將解釋一切。 我怎么會錯過那個小分號? 改變:

export PATH="$PATH:/Users/Dz/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Dz/.rvm/bin"

source ~/.zshrc
echo $HOME
echo $PATH

我們現在很好。

anaconda 安裝程序會自動將正確的 PATH 寫入 ~/.bash_profile 文件。 將該行復制到您的 ~/.zshrc 文件中,使用source ~/.zshrc獲取它,您就可以開始了。

在我安裝了 Anaconda 發行版后,我的 Catalina OSX 也遇到了這個問題。

截至 2019 年 10 月 19 日,此解決方案在 macOS Catalina 上對我有效

步驟 1. 檢查 .bash_profile 在您的主文件夾中是否可用,如果沒有:

  • 前往終端
  • 鍵入cd ~/轉到您的主文件夾(如果您不在主文件夾中)
  • 鍵入touch .bash_profile在您的主文件夾下創建新文件

步驟 2. 檢查文件.zshrc在您的主文件夾中是否可用,如果沒有:

  • 轉到終端並輸入nano ~/.zshrc

  • 在新創建的 .zshrc 文件中鍵入以下行: source ~/.bash_profile

  • 現在要將文件保存在 nano 中,只需點擊ctrl + X

  • 它將提示“保存修改的緩沖區(回答“否”會破壞更改)?” . 只需輸入Y

步驟 3. 檢查是否在您的主文件夾中創建了 .bash_profile 和 .zshrc 文件。 如果是,在終端輸入source ~/.zshrc

您應該執行以下操作:
1. /home/$USER/anaconda/bin/conda init zsh (或者/home/$USER/miniconda3/bin/conda init zsh如果你使用 miniconda)
2. source ~/.zshrc (或者只是重新打開終端)

為什么這個答案比其他答案更好?

  • 你不應該重新發明輪子:conda 中已經有命令激活,你需要做的就是用完整路徑調用 conda
  • 也許~/.bash_profile不存在(我的情況,只有~/.bashrc
  • 您可以在~/.bash_profile中擁有特定於 bash 的配置
  • 您不需要手動粘貼和導出任何路徑

這就是我必須添加的所有內容,以添加讓 anaconda 為 zsh 工作。

echo ". /anaconda3/etc/profile.d/conda.sh" >> ~/.zshrc
source ~/.zshrc

2021 年 macOS 11 (Big Sur) 的答案

安裝 Anaconda 后,運行:

source /opt/anaconda3/bin/activate
conda init zsh

然后關閉並重新打開終端窗口。 shell 提示符應該有一個(base)前綴。

注意:我在網上發現很多文章都說要更新 PATH 變量,但 Anaconda 實際上建議不要這樣做,而是運行上面的兩個命令,他們在文檔中說明了這一點。

資源

您需要修復間距和引號:

export PATH ="/Users/Dz/anaconda/bin:$PATH"

而是使用

export PATH="/Users/Dz/anaconda/bin":$PATH

如果在 mac 上出現此問題,請鍵入以下命令:

source <path to conda>/bin/activate
conda init zsh

這將相應地修改您的 zshrc(或者如果它不存在則創建它)。

該解決方案來自官方anaconda doc

我剛剛遇到了同樣的問題。 正如 .zshrc 文件(在您的用戶根文件夾中)中所暗示的那樣,您需要遷移已插入 .bash_profile、bashrc 左右的路徑來解決此問題。

將所有額外的路徑從 .bash_profile 復制到 .zshrc 為我修復了它,因為 zsh 現在知道去哪里找了。

#add path to Anaconda-bin
export PATH="/Users/YOURUSERNAME!!/anaconda3/bin:$PATH"

 #N.B. for miniconda use
export PATH="/Users/YOURUSERNAME!!!/miniconda3/bin:$PATH"

根據您安裝 anaconda 的位置,此路徑可能會有所不同。

如果 anaconda 完全更新,一個簡單的“conda init zsh”應該可以工作。 使用導航到 anaconda3 文件夾

cd /path/to/anaconda3/

當然,將“/path/to/anaconda/”替換為“~/anaconda3”或“/anaconda3”或保留“anaconda3”文件夾的任何位置。

要確保它已更新,請運行

./bin/conda 更新 --prefix 。 蟒蛇

在此之后,運行

./bin/conda 初始化 zsh

(或您使用的任何外殼)將干凈地完成工作。

  1. 找到適合您的anaconda的版本

  2. 通過命令vim ~/.zshrc把它放到~/.zshrc /.zshrc

    • Anaconda 2 export PATH="/User/<your-username>/anaconda2/bin:$PATH"
    • Anaconda 3 export PATH="/User/<your-username>/anaconda3/bin:$PATH"
    • 或者,如果您在根目錄中安裝 Anaconda:
    • Anaconda 2 export PATH="/anaconda2/bin:$PATH"
    • Anaconda 3 export PATH="/anaconda3/bin:$PATH"
  3. 重啟 zsh source ~/.zshrc

我只是在 .zshrc 中將 anaconda3 路徑添加到 $PATH 中,這起到了作用。

我的環境:Catalina / clean Anaconda install / iTerm / zsh / oh-my-zsh

首先找到你的 conda 安裝:

> find ~/ -name 'conda' -print

(在我的系統上:~/opt/anaconda3/bin/conda)

然后將該路徑添加到 .zshrc 文件中的 PATH

export PATH="opt/anaconda3/bin":$PATH

在終端中運行 conda 提供的以下腳本:

source /opt/conda/etc/profile.d/conda.sh - 您可能需要調整 conda 安裝文件夾的路徑。

之后您的 zsh 將識別conda並且您可以運行conda init這將自動為您修改您的 .zshrc 文件。 它會在它的末尾添加類似的內容:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/conda/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/conda/etc/profile.d/conda.sh" ]; then
        . "/opt/conda/etc/profile.d/conda.sh"
    else
        export PATH="/opt/conda/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

來源: https ://docs.conda.io/projects/conda/en/latest/user-guide/install/rpm-debian.html

對於 Linux

  1. 打開.bashrc
  2. 復制conda initialize的代碼並將其粘貼到.zshrc文件中
  3. 最后運行source .zshrc

只需復制您的 Anaconda bin目錄並將其粘貼到~/.zshrc的底部。

對我來說,路徑是/home/theorangeguy/miniconda3/bin ,所以我跑了:

echo ". /home/theorangeguy/miniconda3/bin" >> ~/.zshrc

這編輯了~/.zshrc 現在做:

source ~/.zshrc

它就像一個魅力。

MAC 操作系統用戶:

  1. brew install anaconda
  2. export PATH="/usr/local/anaconda3/bin:$PATH"添加到~/.zshrc的頂部
  3. source ~/.zshrc或重啟終端

測試一下。 賓果班戈。

  1. 打開你的 ~./bashrc
  2. 找到以下啟動 conda 的代碼(可能類似的代碼):

    # >>> conda init >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)" if [ $? -eq 0 ]; then
        \eval "$__conda_setup" else
        if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
            . "/anaconda3/etc/profile.d/conda.sh"
            CONDA_CHANGEPS1=false conda activate base
        else
            \export PATH="/anaconda3/bin:$PATH"
        fi fi unset __conda_setup
    # <<< conda init <<<

  1. 源〜/ .zshrc
  2. 事情應該會奏效。

所以我發現在你的 ~/.zshrc 文件中,有一個注釋行,

# If you come from bash you might have to change your $PATH # export PATH=$HOME/bin:/usr/local/bin:$PATH

只需取消注釋導出語句,您之前的所有 bash_profile 命令也將在那里。 如果該注釋不存在,您也可以將該導出語句添加到 .zshrc 文件中。

這些解決方案都不適合我。 我不得不將bash環境附加到zsh

echo 'source ~/.bash_profile' >> ~/.zshrc

轉到終端 PREFERENCES,然后是 PROFILES 選項卡,然后在 SHELL 選項卡內的 STARTUP 部分下,選中 RUN COMMAND 和 RUN INSIDE SHELL 的白框。 清除 RUN COMMAND 輸入區域中的所有文本,然后添加以下命令並重新啟動終端:

源〜/ .bash_profile; 清除

關鍵是在您安裝 conda 后從執行官方安裝(例如使用 sh 或其他東西)激活 conda。 所以這:

source ~/miniconda/bin/activate
conda init zsh

我的整個安裝:

# - install python
# install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#  install wget to get miniconda
brew install wget

# get miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda

# source /Users/my_username/opt/anaconda3/bin/activate
source ~/miniconda/bin/activate
conda init zsh
conda update -n base -c defaults conda
conda install conda-build

conda create -n iit_synthesis python=3.9
conda activate iit_synthesis
#conda remove --name metalearning2 --all

靈感來自:

TL;博士

使用此腳本將修改您的.zshrc文件(這是我們想要的,但請注意)。

任何時候你看到一個帶有.*rc的文件就意味着它是一個運行命令,本質上是運行一些啟動指令,在這種情況下,你需要讓你的 shell 知道的東西,所以它會做你想做的事。

假設您已經安裝了conda ,以下工作:

$ source path/to/your/conda/activate
(base) $ conda init zsh

例如,我的特定 conda 安裝路徑是/Users/username/opt/miniconda3/bin/conda

所以我的 shell 命令看起來像這樣:

$ /Users/username/opt/miniconda3/bin/conda/activate
(base) $ conda init zsh

細節

您在運行 zsh 的 shell 中鍵入conda ,它會生氣:

$ zsh: command not found: conda

您的zsh shell 未預先配置為識別conda 我們知道這一點,因為您的.zshrc文件中沒有任何內容表明它完全了解conda 您必須告訴您的 shell (在本例中為zsh )您希望這種情況發生。 conda團隊知道這一點,因此他們針對這種需求發出了命令 但是,首先您必須像使用virtualenv一樣手動激活conda (如果它讓您感到困惑,請不要擔心最后一條語句)。

因此,您可以使用source命令手動激活conda

$ source path/to/your/conda/activate
(base) $

由於此處的路徑可能不同,因此我使用了一個編造的路徑,但您的路徑可能類似於/Users/username/opt/.../activate

接下來,您運行 conda conda init--dry-run ,因為您不想在不知道自己正在修改什么的情況下進行修改(在我看來)。 output 示例如下所示,但它可能與您的不匹配:

(base) $ conda init zsh --dry-run
no change     /Users/username/opt/miniconda3/condabin/conda
no change     /Users/username/opt/miniconda3/bin/conda
...

如果您對將要更改的內容感到滿意,請運行不帶--fry-run標志的相同命令。

最后,重新啟動您的 shell。 它應該以這樣的方式打開:

(base) $

現在,您可以在啟動 shell 的任何時候隨意使用conda

僅供遇到同樣問題的任何人請記住,您需要確保在該導出路徑中擁有正確版本的 anaconda:

anaconda2 or anaconda3 

在那個小問題上花了太長時間。

這為我解決了這個問題,並且肯定可以將它添加到 ~/.zshrc

export PATH=path_to_anaconda_bin:$PATH

答案

暫無
暫無

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

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