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. liunx查看哪个ip连接最多

    [root@centos6 /]# netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|so ...

  2. zabbix-mongodb监控脚本(高性能、低占用)

    Zabbix调用脚本以实现对MongoDB的监控! 本脚本支持对服务存活状态.副本集.性能指标共计25个监控项! 使用mongostat和"echo rs.status()["me ...

  3. Vue.js项目的兼容性与部署配置

    一.处理兼容性问题的相关插件: 1> 解决移动端某些版本的浏览器,点击事件有3s延时触发的问题 · 安装 fastclick 依赖包:npm install fastclick --save-d ...

  4. 部署YUM仓库 (最近睡眠质量很差,你什么时候搬过来住)

    部署YUM仓库 1.YUM概述 YUM(Yellow dog Updater Modified) 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件由集中的YUM软件仓库提供 2.主备安装 ...

  5. Spack 内置函数

    1.Map函数:通过函数传递源的每个元素,并形成新的分布式数据集. %spark #并行化集合生成RDD var data = sc.parallelize(List(10,20,30)) %输出结果 ...

  6. Kubernetes家族容器小管家Pod在线答疑?

    Kubernetes家族容器小管家Pod在线答疑 不知道学习k8s的小伙伴们有没有跟我一样的疑问? k8s为什么不是直接运行容器,而是让Pod介入? Pod又是什么?为什么在应用容器化如此普遍的情况下 ...

  7. 通过C#在控制台输出各种图形文字

    这不是要准备公司年会了嘛 每个部门抓壮丁,必须安排至少一个节目 想着上去唱首歌算了,被毙,没有部门特色 妈蛋,唱歌没特色,那隔壁在前线工作的部门要表演个啥,抄表? 冥思苦想之下,给节目加了点部门特色, ...

  8. swoole错误“Uncaught Error: Class 'swoole_server' not found”的解决办法

    如果你在执行swoole对应文件时,报下面的错误, PHP Fatal error: Uncaught Error: Class 'swoole_server' not found in /mnt/w ...

  9. 利用 kubeasz 给 suse 12 部署 kubernetes 1.20.1 集群

    文章目录 1.前情提要 2.环境准备 2.1.环境介绍 2.2.配置静态网络 2.3.配置ssh免密 2.4.批量开启模块以及创建文件 2.5.安装ansible 2.5.1.安装pip 2.5.2. ...

  10. libc++abi.dylib: terminating with uncaught exception of type NSException

    这是微信sdk注册时候报的错误 解决方法 选择Build Setting,在"Other Linker Flags"中加入"-Objc -all_load"