文章目录

  • Ubuntu 16.04 自带 python 2.7 和 python 3.5
  • 安装 python3.7
  • 修改软链接 python3 -> python3.7(非必需)
  • 安装 pip
  • pip 安装位置
    • 用户身份安装(推荐)
    • root 身份 或者使用 sudo
  • 修改 pip 源
  • pip 安装 virtualenv 和 virtualenvwrapper
  • 使用 virtualenv 和 virtualenvwrapper 创建虚拟环境
  • 卸载 python3.7

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

由于使用 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:-}" = "" ]
thenVIRTUALENVWRAPPER_PYTHON="$(command \which python)"  //修改为 which python3.7
fi

然后编辑 ~/.bashrc

sudo vim ~/.bashrc

在文件末尾加上

export WORKON_HOME=$HOME/.virtualenvs
source $HOME/.local/bin/virtualenvwrapper.sh

如果系统高于 Ubuntu 16.04,那么需要多加两句指定 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-*

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

  1. windows 上安装 python3.7 和 pip 并配置虚拟环境

    文章目录 安装 python3.7 安装 pip 以管理员身份运行cmd 普通用户 添加环境变量 修改 pip 源 配置虚拟环境 多个 python 共存 安装 python3.7 登陆官网,找到 w ...

  2. Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 一.检查支持软件包 gcc, make, vim(optional), ssh, subversion ...

  3. 如何在Ubuntu 16.04上安装Swift和Vapor

    翻译自:How to Install Swift and Vapor on Ubuntu 16.04 介绍 Swift是Apple开发的一种编程语言,特点是快,安全和现代化,它有一个支持语言的庞大社区 ...

  4. 在 Ubuntu 16.04上安装 vsFTPd

    在 Ubuntu 16.04上安装 vsFTPd Ubuntu vsFTPd 关于 vsFTPd vsFTPd 代表 Very Secure File Transfer Protocol Daemon ...

  5. skyeye linux qt,Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法参考自互联网,仅供学习. 一.检查支持软件包 gcc, make, vim(optional), ssh, subversion binuti ...

  6. 在ubuntu 16.04上安装基本的拼音输入法

    在ubuntu 16.04上安装基本的拼音输入法 此处写的主要是ubuntu下ibus支持的最简单的拼音输入法,使用的方便度肯定不如搜狗或谷歌拼音输入法,但是这个贵在安装简单,相比于搜狗输入法,它更加 ...

  7. ubuntu18.04安装python3_如何在 Ubuntu 18.04上安装 Python3.7

    Python 是世界上最流行的编程语言之一,凭借其简单易学的语法,Python是初学者和经验丰富的开发人员的绝佳选择.随着近几年人工智能和大数据的火热,Python流行度更是进一步飙升,有冲顶编程语言 ...

  8. 在 Ubuntu 16.04 上安装 LEMP 环境之图文向导

    导读 LEMP 是个缩写,代表一组软件包(注解 ① L:Linux OS,E:Nginx 网络服务器,M:MySQL/MariaDB 数据库和 P:PHP 服务端动态编程语言),它被用来搭建动态的网络 ...

  9. 如何在ubuntu 16.04上安装WebERP

    前言 本文是在谷歌翻译的基础上做了校对,并且对原文的错误之处做了更正,如果想阅读原文,请点击原文链接.(不过原文中有些错误,在本文中已经做了改正,而且在括号中增加了一些注意事项,在文末还添加了一些问题 ...

最新文章

  1. 计算机视觉方向简介 | 单目微运动生成深度图
  2. 私有属性和方法-通过父类方法间接访问
  3. 98k用计算机图片,98K (HandClap)_谱友园地_中国曲谱网
  4. GARFIELD@09-11-2004
  5. oracle能不能改外键属性,CSS_小议Oracle外键约束修改行为(五), Oracle的外键用来限制子表 - phpStudy...
  6. 使用Idea部署SSM项目后,访问路径为url:8080/项目名_war_exploded的解决方案
  7. 陈天桥:为何总是半夜惊醒?《前程密码》
  8. oracle 查询temporary table,【TEMPORARY TABLE】Oracle临时表使用注意事项
  9. linux下修改文件权限.
  10. android ijk 播放器,ijkplayer 播放器:在Android端进行native调试
  11. java面试笔试大全
  12. 零一块学计算机二级题库,2017年计算机二级office题库及答案
  13. [Maven] 跨项目调用内容
  14. bzoj 3717 [PA2014]Pakowanie
  15. Rapid Tampere加速联合产业创新
  16. laravel Migration与Seeder的用法
  17. 扫描件如何转换成pdf及word文档?
  18. 前程无忧、BOSS直聘、猎聘“抢”Z世代
  19. 如何将GMS功能移植到Android系统中
  20. 梦幻星空html,HTML5特效展示,梦幻星空

热门文章

  1. 小米相机曝光_小米11pro曝光,超级屏+双6400万+骁龙875,不愧是小米旗舰
  2. 医药公司java,医药管理系统java版
  3. python class类的self_Python类class参数self原理解析
  4. 5g网络架构_【5G网络架构】系列之五:5G核心网向to B演进
  5. python网络爬虫学习笔记(十一):Ajax数据爬取
  6. 给你出道题 红绿灯问题
  7. 【转】赶集网mysql开发36军规
  8. c/c++教程 - 2.4.4 友元friend用法
  9. 【Linux】完美解决 nginx 的权限问题( Permission denied)
  10. JQuery怎么知道一个元素是否隐藏或显示How do you test if something is hidden in jQuery?