Linux

  • 参考文献1 :https://www.jianshu.com/p/15f40edefb13;
  • 参考文献2:https://pythonav.com/wiki/detail/3/31/

1、创建文件夹

  • mkdir filename

    mkdir data

2、安装Python

2.1 查看当前Python版本

  • 默认版本是2.7

2.2 安装依赖

如果要正确安装python3,且使用python3的功能,需提前解决如下的环境依赖的问题

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2.3 下载解压安装包

  • # 下载
    wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz
  • 解压

tar -zxvf Python-3.8.7.tgz


![image-20211108094105237](https://gitee.com/ziqingbaojian/typora-imgs/raw/master/image-20211108094105237.png) #### 2.4 编译安装 - 编译,指定安装目录 ```shell
cd Python-3.8.7
# 配置安装位置
./configure prefix=/usr/local/python3
# 安装
make && make install
  • /usr/local 文件下产生了Python3

2.5 设置软连接

  • 添加Python3的软连接
  • ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
  • 设置pip的软连接

    ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

2.6 测试运行

  • 补充

    这里我没有链接到python上,是因为yum要用到python2才能执行,所以现在输入python的话还是会进入python2.7,输入python3才会进入python3.8

    如果执意想要链接到python的话,就得修改一下yum的配置:

    vi /usr/bin/yum
    把 #! /usr/bin/python 修改为 #! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down
    把 #! /usr/bin/python 修改为 #! /usr/bin/python2
  • 注:非必要,不建议将软连接设置为Python,建议设置为Python3

3 、虚拟环境

3.1 virtualenv讲解

  • 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;

    亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。

    此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。

    这里,就要隆重介绍virtualenv,一个可以帮助我们管理不同 Python 环境的绝好工具。

    virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境.

  • 安装配置
    • pip3 install virtualenv

    • 升级pip配置

      pip3 install --upgrade pip

    • 创建virtualenv的软连接

      ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
    • 使用
      # 进入目录
      cd envs 3.创建独立运行环境-命名
      virtualenv venv -p /usr/bin/python3
      # 进入虚拟环境

    • 激活与退出

      # 激活
      source /data/envs/Myproject/venv/bin/activate
      # 退出
      deactive

    • 补充

      virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

4、确保开发环境的一致性

  • 1.假设我们在本地开发环境,准备好了项目+依赖包环境
    2.现在需要将项目上传至服务器,上线发布
    3.那么就要保证服务器的python环境一致性
  • 解决方案:
    1.通过命令保证环境的一致性,导出当前python环境的包
    pip3 freeze > requirements.txt
    这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
    可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。
    2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖
    pip3 install -r requirements.txt

5、virtualenvwrapper使用

  • 本人使用virtualenvwrapper较少,主要使用virtualenv

  • virtualenv 的一个最大的缺点就是:

    每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

    并且还有可能你忘记了虚拟环境放在哪。。。

  • 解决方法
    • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
    • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
  • 安装virtualenvwrapper

    #安装
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper
    #设置环境变量,每次开机加载virtualevnwrapper export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
    #添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python3/bin/python3 #指定python解释器 source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 读取文件,使得生效,此时已经可以使用virtalenvwrapper

    管理虚拟环境的命令

    virtualenvwrapper 提供环境名字的tab补全功能。

    当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

    创建一个虚拟环境:
    
    mkvirtualenv my_django115
    这会在 ~/Envs 中创建 my_django115 文件夹。 激活虚拟环境my_django115
    workon my_django115 也可以手动停止虚拟环境
    deactivate 删除虚拟环境,需要先退出虚拟环境
    rmvirtualenv my_django115 lsvirtualenv
    列举所有的环境。 cdvirtualenv
    导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。 cdsitepackages
    和上面的类似,但是是直接进入到 site-packages 目录中。 lssitepackages
    显示 site-packages 目录中的内容。

Linux安装Python3.8.7的更多相关文章

  1. Linux安装python3.6

    Linux安装python3.6  原地址:https://www.cnblogs.com/kimyeee/p/7250560.html Linux下安装Python3.6和第三方库   如果本机安装 ...

  2. 在Linux 安装Python3.5.6详细文档!!!!

    在Linux 安装Python3.5.6详细文档!!!! 1.安装相关依赖库(工具包) yum install gcc patch libffi-devel python-devel  zlib-de ...

  3. Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip

    Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip 今天的任务就是找到解决办法 另外就是用布置好python3的路径

  4. 常见问题:Linux安装Python3步骤、Windows无法利用pip

    Linux安装python3.6和第三方库的步骤: 我的Linux是CentOS 6.5版本 Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7, ...

  5. python相关软件安装流程图解——linux 安装python3——Python-3.7.1

    请先确保已经安装了虚拟机 python相关软件安装流程图解——虚拟机安装——CentOS-7-x86_64-DVD-1810——CentOS-01下载 https://www.cnblogs.com/ ...

  6. Linux安装python3.5

    如果你使用的是Linux发行版,例如Ubantu,那么你的系统中可能已经安装好python了.可以使用python -v来测试一下: ortonwu@ubuntu:~$ python -V Pytho ...

  7. CentOS Linux安装python3

    本文的方法是在CentOS上新装了python3,如果本机安装了python2则保留,因为可能有程序依赖目前的python2环境,比如yum!!!!! 一.安装python3.7 1. 安装依赖环境 ...

  8. linux安装python3+selenium

    安装笔记 当前安装使用centos7 安装python3 1.下载 [admin@ ~] wget https://www.python.org/ftp/python/3.6.0/Python-3.6 ...

  9. linux 安装python3 date更新

    http://linux.51yip.com/ ntpdate -u ntp.aliyun.com   更新时间 centos 默认是有 python的,是2.7.5的 重启网络的命令  -- sys ...

  10. linux安装python3 ,安装IPython ,安装jupyter notebook

    安装python3    下载到 /opt/中 1.下载python3源码,选择3.6.7因为ipython依赖于>3.6的python环境wget https://www.python.org ...

随机推荐

  1. 打家劫舍(java语言描述(动态规划))

    题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给 ...

  2. 利用JGrapht对有向无环图进行广度优先遍历

    环境需求:JDK:1.8 jar:jgrapht-core-1.01.jar package edu; import org.jgrapht.experimental.dag.DirectedAcyc ...

  3. jsp 4-15

  4. 如何在 IDEA 中添加 Maven 项目的 Archetype(解决添加不起作用的问题)

    前言 在 IDEA 中点击新建 Maven 模块,会发现他已经为我们罗列出来了许多的 archetype,但有些时候满足不了我们的需求.下面就来看看如何添加自己的脚手架吧. 实现过程 新建模块 在 I ...

  5. CF1574F Occurrences

    考虑什么样的串是合法的. 直接考虑比较抽象,考虑具象化这个问题. 容易发现一个字符串的限制就相当于如果出现了其中一个字符 \(a_i = c\),那么 \(s\) 中 \(c\) 前 \(i - 1\ ...

  6. [POI2009]SLO-Elephants

    首先可以发现我们可以发现最终状态和初始状态都是一个大小为 \(n\) 的排列,且恰好有 \(n\) 种关系,于是我们对于每个 \(a_i\) 连一条 \(a_i \rightarrow b_i\) 的 ...

  7. UTF-8编码规则(摘自JDK官方文档)

  8. sort、uniq、tr、cut、eval以及正则表达式

    sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...

  9. atc工具模拟网络

    通过Facebook开源的atc工具,进行模拟不同的网络情况,如图: 目前不支持python3 相关网址: ATC http://facebook.github.io/augmented-traffi ...

  10. Java一维与二维数组的拷贝与排序

    Java一维与二维数组的拷贝与排序 目录 Java一维与二维数组的拷贝与排序 Arrays.sort() 一维数组升序排序 二维数组按行升序排序 二维数组按列升序排序 Java中的数组 Java中数组 ...