![](/img/trans.png)
[英]Windows - Use default python rather than Anaconda installation
[英]Use the default Python rather than the Anaconda installation when called from the terminal
我最近安裝了 Python 的 Anaconda 版本。 現在,當我在終端中輸入python
,它會打開 Anaconda 發行版而不是默認發行版。 如何讓它在 Linux ( Ubuntu 12.04 (Precise Pangolin)) 上使用命令python
的默認版本?
Anaconda 將路徑添加到您的.bashrc
,因此它首先被找到。 您可以將默認 Python 實例的路徑添加到.bashrc
或刪除 Anaconda 的路徑(如果您不想使用它)。
您還可以使用 Bash 中的完整路徑/usr/bin/python
來使用默認的 Python 解釋器。
如果您將.bashrc
文件保留原樣,您使用python
運行的任何命令都將使用 Anaconda 解釋器。 如果需要,您還可以為每個解釋器使用alias
。
您將在.bashrc
文件中看到類似export PATH=$HOME/anaconda/bin:$PATH
。
所以基本上,如果你想使用 Anaconda 作為你的主要日常解釋器,請使用默認 Python 的完整路徑或創建一個alias
。 如果您想反過來,請刪除export PATH=...
。 從bashrc
並使用到 Anaconda Python 解釋器的完整路徑。
到目前為止已經嘗試了所有建議,我認為修改文件~/.bashrc 中的導出語句,正如 Piotr Dobrogost 似乎建議的那樣,考慮到以下幾點是最好的選擇:
所以在文件~/.bashrc而不是
# Added by the Anaconda3 4.3.0 installer
export PATH="/home/user/anaconda3/bin:$PATH"
一個會用
export PATH="$PATH:/home/user/anaconda3/bin"
我遇到了同樣的問題,您可以執行以下操作。
進入你的.bashrc文件,你會發現類似的一行:
export PATH=~/anaconda3/bin:$PATH
您將其注釋掉並輸入:
alias pyconda='~/anaconda3/bin/python3'
或者無論你的道路是什么。 這對我有用。
在 2020 年,就像提到的@spacetyper 一樣,它的行為有所不同。 我從這個問題中找到了一個方便的解決方案: 默認情況下,如何防止 Conda 激活基本環境?
要禁用自動基礎激活:
conda config --set auto_activate_base false
第一次運行后,它會在主目錄中創建一個./condarc
。
/home/username/anaconda/bin/
和/usr/bin/
目錄中都有python
、 python2
和python2.7
快捷方式。 因此,您可以從一個文件夾中刪除其中任何一個並將其用於另一個文件夾。
我的意思是,如果您從 Anaconda 目錄中刪除python2
快捷方式,您將在終端中擁有用於 Anaconda 版本的 Python 和用於默認版本的python2
。
我發現,雖然我刪除export=.../anaconda3/bin:$PATH
,還有.../anaconda3/envs/py36/bin
的(我在虛擬環境蟒蛇) PATH
,並且外殼依舊采用蟒蛇Python。
所以我export PATH=/usr/bin:$PATH
( /usr/bin
是系統 Python 所在的位置)。 雖然PATH
已經有/usr/bin
了,但是我們先搜索到 Anaconda 的路徑,然后 shell 會在你輸入python
, python3.6
, pip
, pip3
... 時使用系統 Python。
您可以使用上述別名返回 Anaconda,或者通過注釋export PATH=/usr/bin:$PATH
再次默認使用 Anaconda。
我很少使用 Anaconda 來構建跨平台包,但我不想將它用作 Python 的日常驅動程序。 對於 Anaconda、Ruby 和 Node.js 項目,我采用環境沙箱,它本質上將功能隱藏在遠離您的路徑的函數后面,直到您特別需要它。 我首先從這兩個 GitHub 存儲庫中了解到它:
https://github.com/benvan/sandboxd
https://github.com/maximbaz/dotfiles
我有一個沙箱函數文件,如下所示:
#!/bin/zsh
# Based on
# https://github.com/maximbaz/dotfiles/.zsh/sandboxd.zsh
# which was originally adapted from:
# https://github.vom/benvan/sandboxd
# Start with an empty list of all sandbox cmd:hook pairs
sandbox_hooks=()
# deletes all hooks associated with cmd
function sandbox_delete_hooks() {
local cmd=$1
for i in "${sandbox_hooks[@]}";
do
if [[ $i == "${cmd}:"* ]]; then
local hook=$(echo $i | sed "s/.*://")
unset -f "$hook"
fi
done
}
# Prepares the environment and removes hooks
function sandbox() {
local cmd=$1
# NOTE: Use original grep, because aliased grep is using color
if [[ "$(type $cmd | \grep -o function)" = "function" ]]; then
(>&2 echo "Lazy-loading '$cmd' for the first time...")
sandbox_delete_hooks $cmd
sandbox_init_$cmd
else
(>&2 echo "sandbox '$cmd' not found.\nIs 'sandbox_init_$cmd() { ... }' defined and 'sandbox_hook $cmd $cmd' called?")
return 1
fi
}
function sandbox_hook() {
local cmd=$1
local hook=$2
#echo "Creating hook ($2) for cmd ($1)"
sandbox_hooks+=("${cmd}:${hook}")
eval "$hook(){ sandbox $cmd; $hook \$@ }"
}
在我的.zshrc
創建我sandbox'd功能(S):
sandbox_hook conda conda
此命令將普通的conda
可執行文件轉換為:
conda () {
sandbox conda
conda $@
}
使用這種技術的一個額外好處是它加快了 shell 加載時間,因為獲取許多包裝腳本(例如nvm
、 rvm
等)會減慢你的 shell 啟動時間。
它還竊聽我,蟒蛇安裝了Python 3的可執行文件python
在默認情況下,它打破了很多傳統的Python腳本的,但是這是一個單獨的問題。 像這樣使用沙箱讓我清楚地意識到我使用的是 Anaconda 的 Python 而不是系統默認值。
Anaconda 3 在我的.bashrc文件中添加的不僅僅是簡單的一行。 但是,它還會將原始.bashrc文件備份到.bashrc-anaconda3.bak文件中。
所以我的解決方案是交換兩者。
在 2020 年,Conda 在.bash_profile
文件底部添加了一個更復雜的代碼塊,如下所示:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/spacetyper/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/spacetyper/opt/miniconda3/etc/profile.d/conda.sh" ]; then
. "/Users/spacetyper/opt/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/spacetyper/opt/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
默認情況下使用默認的 Python 安裝:只需將這部分代碼移動到.bash_profile
文件的最頂部。
要讓自己選擇使用安裝了 Conda 的 Python:在上面的 Conda 代碼塊下方添加這一行。
alias pyconda="/Users/spacetyper/opt/miniconda3/bin/python3"
現在您應該能夠使用python
調用系統 Python install 和使用pyconda
調用 Conda install 。
就我而言,當我有
alias python='/usr/bin/python3.6'
在~/.bashrc
,它總是在 Anaconda 虛擬環境內外調用python3.6
。
在此設置中,您可以在每個虛擬環境中通過python3
設置 Python 版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.