[Python] Ubuntu 16.04 上安装 python3.7 和 pip 并配置虚拟环境

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_VIRTUALENVVIRTUALENVWRAPPER_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_VIRTUALENVVIRTUALENVWRAPPER_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-*
  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值