[英]Zsh: Conda/Pip installs command not found
所以我安裝了Anaconda並且一切正常。 安裝后,我決定切換到oh-my-zsh
。 我現在得到:
zsh: command not found: conda
嘗試使用pip
或conda
安裝時
echo $ZSH_VERSION
5.0.5
我已添加到我的zshenv.sh
export PATH ="/Users/Dz/anaconda/bin:$PATH"
我錯過了什么?
如果您使用的是 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 下啟動,這樣做並不是一個明智的主意,所以最好堅持使用curl或wget 。
在安裝了 oh-my-zsh 的 OS X 中進行工作 conda 是添加如下路徑並將工作。
找到 python 路徑,以便查看您是否安裝了 Anaconda2 或 Anaconda3:
where python
或which 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
的全局安裝包(如pandas
和NumPy
),您也無需卸載、刪除或更改其中的任何一個。
正常安裝 Anaconda 或 Miniconda。 無需設置PYTHONPATH
環境變量。
要查看 Python 的 conda 安裝是否在您的 PATH 變量中:
在 macOS 和 Linux 上,打開終端並運行 echo $PATH
。
在 Windows 上,打開 Anaconda Prompt 並運行 echo %PATH%
。
要查看當前設置為默認的 Python 安裝:
which python
。where python
。 要查看當前 conda 環境中安裝了哪些軟件包及其版本號,請在終端窗口或 Anaconda Prompt 中運行conda list
。
有關手動添加的詳細信息,請參閱以下信息:
vi ~/.zshrc或gedit ~/.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
(或者只是重新打開終端)
為什么這個答案比其他答案更好?
~/.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
(或您使用的任何外殼)將干凈地完成工作。
找到適合您的anaconda
的版本
通過命令vim ~/.zshrc
把它放到~/.zshrc
/.zshrc
export PATH="/User/<your-username>/anaconda2/bin:$PATH"
export PATH="/User/<your-username>/anaconda3/bin:$PATH"
export PATH="/anaconda2/bin:$PATH"
export PATH="/anaconda3/bin:$PATH"
重啟 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
.bashrc
conda initialize
的代碼並將其粘貼到.zshrc
文件中source .zshrc
只需復制您的 Anaconda bin
目錄並將其粘貼到~/.zshrc
的底部。
對我來說,路徑是/home/theorangeguy/miniconda3/bin
,所以我跑了:
echo ". /home/theorangeguy/miniconda3/bin" >> ~/.zshrc
這編輯了~/.zshrc
。 現在做:
source ~/.zshrc
它就像一個魅力。
MAC 操作系統用戶:
brew install anaconda
export PATH="/usr/local/anaconda3/bin:$PATH"
添加到~/.zshrc
的頂部source ~/.zshrc
或重啟終端測試一下。 賓果班戈。
# >>> 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 <<<
所以我發現在你的 ~/.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
靈感來自:
⚠使用此腳本將修改您的.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.