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. 洛谷P1060 java题解

    题目描述: 解题思路: 重要度相当于价值的倍率 (物品价格*重要度=价值) 经典的背包问题 直接DP把各种情况下的最优解打表出来取最后一个就行了 代码: import java.util.Scanne ...

  2. django之分页算法实现(Paginator)

    导入模块:from django.core.paginator import Paginator 一.Paginator的基本用法: from django.core.paginator import ...

  3. SSH 密钥登录

    一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会 ...

  4. Java数组问题:Array constants can only be used in initializers

    感谢大佬:https://www.cnblogs.com/fanerwei222/p/11491571.html 感谢大佬:https://blog.csdn.net/weixin_42591732/ ...

  5. Java开发环境及工具安装配置

    Java开发环境及工具安装配置 Windows JDK 下载地址 https://www.oracle.com/java/technologies/javase-downloads.html 安装配置 ...

  6. MSTP多生成树协议

    MSTP多生成树协议 目录 MSTP多生成树协议 1.MSTP(Multiple Spanning Tree Protocol)概述 2.STP.RSTP.PVST的应用缺陷 3.MSTP的主要特点 ...

  7. P3400【仓鼠窝 】

    思路清奇,代码简洁的好题 问题大体分两部: 记录子矩阵个数,统计每一个点作为右下角时可以得到多少矩形,加起来就是答案 剪掉墙挡住的地方 考虑从右下角开始,如果有0已经挡住了矩阵,那么更靠左.上的0都卵 ...

  8. Solution -「LOCAL」画画图

    \(\mathcal{Description}\)   OurTeam.   给定一棵 \(n\) 个点的树形随机的带边权树,求所有含奇数条边的路径中位数之和.树形生成方式为随机取不连通两点连边直到全 ...

  9. Solution -「BJWC 2018」「洛谷 P4486」Kakuro

    \(\mathcal{Description}\)   Link.   有一个 \(n\times m\) 的网格图,其中某些格子被主对角线划成两个三角形,称这样的格子为特殊格:初始时,除了一些障碍格 ...

  10. AI 神经网络理解

    神经网络理解 原文写于2019-12-05,2021-12-08改为markdown