一, 安装python3
1.下载python3源码
  wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
2.解压缩源码包,去除xz, .tar
  xz -d Python-3.6.7.tar.xz
  tar -xf Python-3.6.7.tar
3.解决编译安装python3所需的软件依赖
  备注(解决这些依赖关系后期才能正常运转python3.6,如果不解决,会出现各种报错信息,就要编译python3.6)
  yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-deve
  ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
4.编译安装三部曲
  a.调用源码包路径底下的configure这个脚本文件,
    ./configure --prefix=/opt/python36/
  b.执行make指令,开始编译(此步骤还不会生成/opt/python36这个文件夹)
  c.make install 安装软件,(此步才是安装软件的过程)-才会生成一个 /opt/python36这个软件安装路径
  编译之后,没有报错,就可以正常使用python3了
5.快捷使用python3.6的方式 ,以下配置方式,二选一,请你选path配置

    1.软连接(这一步很麻烦,并且不适用于virtualenv的创建)
      ln -s /opt/python36/bin/python3.6 /usr/bin/python3 #但是这一步还没有pip
      ln -s /opt/python36/bin/pip3 /usr/bin/pip3

    2.配置环境变量,永久生效,写入到文件/etc/profile中,每次登录就生效

       a.vim /etc/profile #将此配置写到最低行,因为path的路径查找是有优先级顺序的!!!所以将python36的目录放到path的第一层

          PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

       b. source /etc/profile  #读取这个文件,让python3生效

 6..检查所有python的文件夹关系

    python36(这个是工作的,已经安全号的python3软件包目录)
    Python-3.6.7(这个是python3的源码文件夹,安装成功后可删)
    Python-3.6.7.tar 可删

 7.升级pip工具,升级pip的版本

    pip3 install --upgrade pip

二.安装ipython解释器
1.安装ipython,指定douban源下载
  pip3 install -i https://pypi.douban.com/simple  ipython 
2.安装朱皮特
  pip3 install -i https://pypi.douban.com/simple  jupyter
3.进入ipython环境,给jupyter设置密码

    ipython           #进入ipython的交互式界面

    from IPython.lib import passwd

    passwd()           #生成jupyter登录的密码

  4.生成jupter的的配置文件,再进行编辑

    jupyter notebook --generate-config --allow-root

    修改如下配置一致即可,去掉注释符 # 才能读取代码

    c.NotebookApp.ip = '建议写当前linux机器的ip地址'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8000    

   5.启动朱皮特
    jupyter notebook --allow-root   #启动notebook

    ip:8000  端口访问你的jupyter页面

 

   注意:

      iptables -L #查看规则

      iptables -F #清空规则

      systemctl stop firewalld #关闭防火墙服务

      systemctl disable firewalld #从开机自启中,移除这个防火墙服务,永久关闭

      #还有一个selinux得关闭
      1. getenforce 查看selinux规则
      2. 临时关闭selinux setenforce 0

      永久关闭selinux,需要重启生效
      vim /etc/selinux/config
      写入以下配置
      SELINUX=disabled
      #重启服务器生效,selinux永久disabled

三.linux下的虚拟环境安装(virtualenv),以宿主机的python解释器为主体,然后复制的多个虚拟环境

  1.通过pip3安装虚拟环境
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

  2. 通过virtualenv命令,创建第一个新的虚拟环境
    virtualenv --no-site-packages --python=python3 venv1

    virtualenv --no-site-packages --python=python3 venv2

      --no-site-packages 创建一个干净,隔离宿主机环境的虚拟环境

      --python=python3   #指定你的虚拟环境,以哪个解释器为base环境,我的这个是以我机器上的python3解释器为主体

  3.激活虚拟环境,切换宿主机环境,进入虚拟环境的环境变量
      source /opt/all_env/venv1/bin/activate

  4.检查环境变量PATH,检查是否正确激活了虚拟环境

      #echo $PATH   /opt/all_env/venv1/bin:/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:

  5.检查你当前的python3和pip3来自于哪里

     /opt/all_env/venv1/bin/python3   #which python3   which pip3

  6.使用venv1虚拟环境,安装一个django1.11.11

      pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.11

  7.退出虚拟环境

    deactivate

服务器环境之保证本地和服务器开发环境一致性的配置:
.通过命令导出当前python解释器的pip3包环境
pip3 freeze > requirements.py #这个requirements.py文件,就存放了正常运转的开发软件依赖包的信息
.将此requirements.py文件传到服务器上
上传办法
. yum install lrzsz
这个lrzsz软件提供了两个命令
. sz (发送,下载) 从linux往windows下载
sz 你想传输的文件名字
. rz(接收,上传) 从windows往linux上传 rz 直接输入rz命 . 通过xftp(公司用xftp)
虚拟环境管理之virtualenvwrapper安装使用步骤:
.下载安装 virtualenvwrapper
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper .执行脚本,让当前机器支持virtualenvwrapper,但是有一个问题,重启后,退出会话后,这个功能就失效了 .配置全局变量,让每次登陆linux时候,就加载这个virtualenvwrapper.sh脚本文件,使得virtualenvwrapper这个工具生效 #打开这个用户环境变量配置文件,写入以下信息,export 就是读取一段shell变量的命令 vim ~/.bashrc #这个文件代表用户环境变量,每次登陆时候加载 export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3. #指定python解释器,(这个得根据你自己机器环境来配)
source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本,这个脚本放在你的python3.6解释器bin目录下
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc .开始使用virtualenvwrapper,创建一个venv1
mkvirtualenv venv1 #这一步会创建venv1,并且放入到WORKON_HOME变量定义目录下,并且自动激活虚拟环境 lsvirtualenv #查看当前机器所有的虚拟环境 workon #用于激活虚拟环境,也用于在多个虚拟环境中来回切换, rmvirtualenv #用于删除虚拟环境,也会自动找到所有的虚拟环境 cdvirtualenv #用于直接进入虚拟环境的目录,此命令需要激活虚拟环境 cdsitepackages #用于直接进入pip3软件包的目录 .友情提醒
使用了virtualenvwrapper 就不需要再手动安装virtualenv了,

在linux上安装python, jupyter, 虚拟环境(virtualenv)以及 虚拟环境管理之virtualenvwraper的更多相关文章

  1. 在linux上安装python

    转自:https://www.cnblogs.com/qq631243523/p/10191726.html 一,前言 centos7默认是装有python的,咱们先看一下 [root@glh ~ 2 ...

  2. Python--Linux上安装Python

    Linux 上安装 Python 官网下载:https://www.python.org/downloads/ 本文安装包下载链接:https://pan.baidu.com/s/1uL2JyoY_g ...

  3. windows上安装python虚拟环境

    一.windows上安装python虚拟环境 1.安装pip install virtualenvvirtualenv --version 2.新建一个python虚拟环境virtual_env_01 ...

  4. Linux 下安装python软件包(pip、nose、virtualenv、distribute )

    新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...

  5. [转]在Linux CentOS 6.6上安装Python 2.7.9

    在Linux CentOS 6.6上安装Python 2.7.9 查看python安装版本 python -V yum中最新的也是Python 2.6.6,所以只能下载Python 2.7.9的源代码 ...

  6. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  7. linux下安装python

    在Linux下安装Python的操作相当简单,按如下步骤操作即可: 命令: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgzt ...

  8. 在Windows和Linux上安装paramiko模块

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  9. Linux上安装使用boost入门指导

    Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...

随机推荐

  1. PHP算法学习(2) 轮训加权算法

    2019年1月8日16:10:51 svn地址:svn://gitee.com/zxadmin/live_z    代码在code里面 <?php /* * 加权轮训算法 * * * $arr ...

  2. 刷榜中ASO优化中下载量与评论之间的对应比

    刷榜中ASO优化中下载量与评论之间是怎么样对应,我们都知道,在ASO优化的过程中,ASO优化师在做下载量后的二至三天,都会顺带着做一下评论.这时候问题就来了,下载量与评论的比例关系应该如何确定呢?最近 ...

  3. [Day19]Collection接口中的子类(List集合、Set集合)

    1.List接口 1.1API总结 (1)是一个元素存取有序的集合 (2)是一个带有索引的集合,通过索引可以精确的操作集合中的元素 (3)集合中有可以重复的元素,通过元素的equals方法,来比较是否 ...

  4. Yocto和Android编译命令的简化和自动完成的实现

    简化编译命令 无论是在Android编译系统中,还是在Yocto编译系统中,要编译一个目标,输入命令都有点费事. Yocto系统: source setup-environment $FOLDER b ...

  5. RxSwift + Moya + ObjectMapper

    https://www.jianshu.com/p/173915b943af use_frameworks! target 'RXDemo' do pod 'RxSwift' pod 'RxCocoa ...

  6. wpf 获取Image的图片并保存到本地

    XMAL代码如下: <Image Name="ImageToSave" Source="Images/pic_bg.png" Grid.RowSpan=& ...

  7. XSS 与 CSRF 跨站攻击

    先做个名词解释: XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 看了估计也不清楚什么意思吧? 那么,详细 ...

  8. seafile ubuntu 安装相关

    1,各种原因,需要安装 seafile,好,开始安装. 2,参考 https://github.com/haiwen/seafile-server-installer-cn 1,Ubuntu 16.0 ...

  9. Java 数据库程序设计

    数据库基础 目前,大多数数据库系统都是关系数据库系统(relational database system).该数据库系统是基于关系数据模型的,这个模型有三个要素:结构.完整性和语言 结构(struc ...

  10. Javascript循环删除数组中元素的几种方法示例

    发现问题 大家在码代码的过程中,经常会遇到在循环中移除指定元素的需求.按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可.但是实际情况往往不会像预想的那样顺利运 ...