Python3 如何從native pip 切換到Anaconda3 pip

Python3 如何從native pip 切換到Anaconda3 pip

Author: Xin Pan

Date: 2020.03.31


實驗環境

Ubuntu 16.04+Anaconda3 with python3.7+Native python3.6

開始

本文會講述如何從native pip 轉換到Anaconda3 中的pip。

當前的服務器環境如下:

root@panxinyjy-jupyter-x4qpb:~/demucs# python
Python 3.6.8 (default, Dec 24 2018, 19:24:27)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
root@panxinyjy-jupyter-x4qpb:~/demucs# pip -V
pip 19.2.2 from /root/.python/python3.6/dist-packages/pip (python 3.6)

接着打開~/.bashrc我們可以看到:

export Python_Version=3.6
export PYTHONPATH=/root/.python/python$Python_Version/dist-packages
export PATH=$PATH:$PYTHONPATH/bin
export PATH=$PATH:/root/.local/bin

這些信息表明我們使用的是native pip。在安裝了Anaconda3以後,這裏我使用的是python3.7版本,conda中也會有一個pip這個pip 是和python3.7配套的。

我們進入Anaconda3的安裝目錄,我是放在了~/anaconda3/bin。我們可以將上述地址加入到.bashrc文件的$PATH中然後運行

conda init

完成對conda的初始化,接着我們看是不是有pip這個文件。

pip有沒有

從圖中我們可以看到是有pip 和python3.7的。如果這裏沒有我們需要利用下邊命令從conda安裝pip。

conda install pip

接着我們回到~/.bashrc這個文件中發現文件看起來像下邊這樣:

export Python_Version=3.6
export PYTHONPATH=/root/.python/python$Python_Version/dist-packages
export PATH=$PATH:$PYTHONPATH/bin
export PATH=$PATH:/root/.local/bin

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

其中的>>> conda initialize這些是自己加進去的不用管它們。

我們要將上邊文件改成下邊的樣子。註釋掉和native pip相關的$PATH$PYTHONPATH。將Anaconda3中python3.7的bin和lib中的site-packages分別加入到$PATHPYTHONPATH中去。

#export Python_Version=3.6
#export PYTHONPATH=/root/.python/python$Python_Version/dist-packages
#export PATH=$PATH:$PYTHONPATH/bin
export PATH=$PATH:/root/.local/bin
## New added
export PYTHONPATH=/root/anaconda3/lib/python3.7/site-packages
export PATH=$PATH:/root/anaconda3/bin
# End of added

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

最後source .bashrc就可以了。如果正確的話我們這時候看到的命令提示符會像這樣:

(base) root@panxinyjy-jupyter-x4qpb:~# python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(base) root@panxinyjy-jupyter-x4qpb:~# pip -V
pip 20.0.2 from /root/anaconda3/lib/python3.7/site-packages/pip (python 3.7)
(base) root@panxinyjy-jupyter-x4qpb:~#

在命令行的提示符前邊會有Anaconda3激活的env的名字,我這使用是默認的env就是base。從pip -V可以看到是python3.7。表明任務完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章