[Python] Ubuntu 16.04 上安装 python3.7 和 pip 并配置虚拟环境
文章目录Ubuntu 16.04 自带 python 2.7 和 python 3.5安装 python3.7修改软链接 python3 -> python3.7(非必需)安装 pippip 安装位置用户身份安装(推荐)root 身份 或者使用 sudo修改 pip 源pip 安装 virtualenv 和 virtualenvwrapper使用 virtualenv 和 virtualen
文章目录
Ubuntu 16.04 自带 python 2.7 和 python 3.5
可以使用下面两个命令查看。系统自带的python千万不能卸载!
python -V
python3 -V
查看 /usr/bin 中所有 python
ls -l /usr/bin | grep python
安装 python3.7
Ubuntu16.04 默认的软件 repo 中并不包含 python3.7(最高到 python3.5),所以无法通过下面命令直接安装 python3.7。
sudo apt-get install python3.7 ❌
正确方式是 使用 ppa 源安装 或者 下载源码进行编译。下面是使用 ppa 源安装:
sudo add-apt-repository ppa:deadsnakes/ppa //执行后按Enter键
sudo apt-get update
sudo apt-get install python3.7 python3.7-dev python3.7-distutils
如果之后想要删除添加的 ppa 仓库呢?
修改软链接 python3 -> python3.7(非必需)
Ubuntu16.04 中,软链接 python3
默认指向 python3.5,现在想要指向 python 3.7。
首先查看 /usr/bin 中 python 的软链接
ls -l /usr/bin | grep python
删除旧的 python3 指向 python3.5 的软链接,建立新的软链接指向 python3.7
sudo rm /usr/bin/python3
sudo ln -s python3.7 /usr/bin/python3
或者直接修改
sudo ln -fs python3.7 /usr/bin/python3
但无论怎么样,在 Ubuntu 16.04 上,更改 python3 的软链接会导致点击 terminal 无法打开命令行的问题,解决方法也不难,可以参考 这里。
总之不建议修改。新建一个 python37 软链接指向 python3.7
sudo ln -s python3.7 /usr/bin/python37
或者就使用
python3.7 ...
安装 pip
可以看一看 官方安装向导
不要直接使用下面的指令,这样安装的是 python3.5 版本的 pip。
sudo apt-get install python3-pip ❌
下面的命令也不行,会直接报错
sudo apt-get install python3.7-pip ❌
正确的做法是使用 get-pip.py。--user
表示安装在当前用户目录。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.7 get-pip.py --user
安装后查看
python3.7 -m pip -V
更新 pip
python3.7 -m pip install -U pip
卸载 pip。卸载 pip 不会影响已安装的包。
python3.7 -m pip uninstall pip
pip 安装位置
用户身份安装(推荐)
如果是普通用户身份
python3.7 get-pip.py
pip 安装在在 /home/hanjiale/.local/lib/python3.7/site-packages/ 路径下,指令会在 /home/hanjiale/.local/bin/ 路径下。
可以考虑把路径 /home/hanjiale/.local/bin/ 添加到环境变量 或者这样
python3.7 -m pip ...
root 身份 或者使用 sudo
如果是 root 身份 或使用 sudo
# root
python3.7 get-pip.py
# 用户使用 sudo
sudo python3.7 get-pip.py
pip 安装在 /usr/local/lib/python3.7/dist-packages/ 路径下,指令会在 /usr/local/bin/ 路径下。
修改 pip 源
pip 源在国外,速度较慢,可以更换为国内阿里源。在用户目录下建文件夹 .pip,添加 pip.conf 文件。可以参考 官方文档
mkdir ~/.pip
vim ~/.pip/pip.conf
将下面内容复制到 pip.conf 文件中。其中 timeout 的单位为秒。
[global]
timeout = 120
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = https://mirrors.aliyun.com
pip 安装 virtualenv 和 virtualenvwrapper
首先安装 virtualenv 和 virtualenvwrapper
python3.7 -m pip install virtualenv
python3.7 -m pip install virtualenvwrapper
==================================================
(更新一下,只要后面指定了VIRTUALENVWRAPPER_VIRTUALENV
和 VIRTUALENVWRAPPER_PYTHON
,这一部分是不需要的,详见https://virtualenvwrapper.readthedocs.io/en/latest/install.html#python-interpreter-virtualenv-and-path)
由于使用 python3.7 安装,所以需要修改 .local/bin/virtualenvwrapper.sh 文件中 VIRTUALENVWRAPPER_PYTHON
的路径,把 which python
修改为 which python3.7
。
打开 .local/bin/virtualenvwrapper.sh 文件
sudo vim .local/bin/virtualenvwrapper.sh
把 which python
修改为 which python3.7
# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)" //修改为 which python3.7
fi
==================================================
然后编辑 ~/.bashrc
sudo vim ~/.bashrc
在文件末尾加上下面的内容,其中VIRTUALENVWRAPPER_VIRTUALENV
和 VIRTUALENVWRAPPER_PYTHON
分别指定 virtualenv 的路径和 python 解释器的路径。
# virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.7
source $HOME/.local/bin/virtualenvwrapper.sh
重新加载 .bashrc 文件
source ~/.bashrc
使用 virtualenv 和 virtualenvwrapper 创建虚拟环境
创建 py27,py35,py37虚拟环境,对应不同的 python 版本。由于 virtualenv 和 virtualenvwrapper 使用 python3.7 安装,所以如果不指定 python 版本,默认使用 python3.7。
mkvirtualenv -p=/usr/bin/python2.7 py27
mkvirtualenv -p=/usr/bin/python3.5 py35
mkvirtualenv -p=/usr/bin/python3.7 py37
使用 workon 命令查看虚拟环境
workon
进入虚拟环境 py37,在虚拟环境中安装各种包即可。
workon py37
退出虚拟环境
deactivate
删除虚拟环境 py37
rmvirtualenv py37
卸载 python3.7
sudo apt-get purge python3.7 python3.7-* libpython3.7 libpython3.7-*
更多推荐
所有评论(0)