您的位置:新葡亰496net > 奥门新萄京娱乐场 > 6虚拟环境,python版本切换和虚拟运行环境

6虚拟环境,python版本切换和虚拟运行环境

发布时间:2019-09-15 20:06编辑:奥门新萄京娱乐场浏览(88)

    目录

    因为碰着或上学的供给,大家或然需求在服务器上安装八个python版本,安装多个翻新的python版本后,使用软链来张开现存。

    pyenv是python版本管理和切换工具

    时临时遭遇那样的景况:

    • 系统自带的 Python 是 2.6,自身索要 Python 2.7 中的某个特征;
    • 系统自带的 Python 是 2.x,自身索要 Python 3.x;

    这儿要求在系统中设置八个 Python,但又不能够影响系统自带的 Python,即供给达成 Python 的多版本共存。pyenv 正是这么二个 Python 版本管理器。
    pyenv用于在一台机器上设置五个本子的python情状, 并提供方便的切换格局。
    大家能够用pyenv 安装八个版本python , 比方2.6, 2.7, 3.3 八个本子。 客户能够轻巧切换当前暗许的python版本,且不影响系统的python版本。

    Centos下Python3.5意况设置,并陈设virtual情状

    python是3.6

    • Linux安装两个Python版本
      • 下载Python源码
      • 编写翻译安装
        • 补充
        • openSUSE编译python3找不到ssl模块
      • 修改Python软链
        • 补充
      • 虚构情况设置分歧版本的python
        • 下载zlib模块并开展编写翻译安装
        • python导入zlib
        • 双重编写翻译python并钦赐zlib
        • 下载virtualenv源码包
      • virtualenv创立虚构意况
      • 测验虚构情形下安装包

    这年必要展开源码编写翻译安装。

    virtualenv是python虚构运转条件管理和切换工具

    pyenv能够设置五个本子的python,但各类版本的运作情况仍是独一的, 假如大家想在条件中安装一些包/模块的话, 会导致那几个版本的运维碰到被涂改,当多少人或多少个项目共用同一python版本时,恐怕会有包争执难题。 比如:项目A供给jinja 2.7,而项目B要求jinja 2.6如何是好?
    virtualenv能够搭建虚构且独立的python运维条件(原理很简短,就是把系统python可能pyenv安装的python复制一份到virtualenv的条件,用命令source venv/bin/activate步向二个virtualenv处境时,virtualenv会修改有关境况变量,让命令python和pip均指向当前的virtualenv意况),能够使各种体系库景况与任何项目独立开来,保持情况的一清二白,化解包争论难题。
    pyenv的插件pyenv-virtualenv使得大家可在pyenv下直接行使virtualenv,最后满足创立狂妄python版本下自便独立情况的要求。

    Centos下Python3.5蒙受设置,并配置virtual景况

    centos 6 64位

    Linux安装七个Python版本

    因为情形或学习的须求,我们大概供给在服务器上安装多少个python版本,安装一个翻新的python版本后,使用软链来进行现成。

    本条时候必要张开源码编写翻译安装。

    不容置疑后续开垦品种方可直接跑在虚构情状下隔开分离开来,就不再要求在服务器上安装几个不等版本的包了。

    自然后续开采品种方可一向跑在设想情况下隔开分离开来,就不再要求在服务器上安装八个不等版本的包了。

    安装pyenv和pyenv-virtualenv插件

    固然平昔设置pip安装virtualenv也行,可是透过pyenv插件的款型设置virtualenv的虚构境况越发方便,因为从此的操作会比较有利。
    方法1:
    直接用pyenv-installer脚本安装到~/.pyenv/下

    $ curl -o pyenv-installer.sh -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer
    $ bash pyenv-installer.sh
    

    方法2: 用如下修改后的pyenv-installer脚本安装,独一差别是点名了安装路径/data/yourname/.pyenv/,并软连到/.pyenv,然后按提示把环境变量修改加入/.bash_profile ,然后重启终端就足以了:

    #!/usr/bin/env bash
    set -e
    [ -n "$PYENV_DEBUG" ] && set -x
    if [ -z "$PYENV_ROOT" ]; then
      PYENV_ROOT="/data/`whoami`/.pyenv"
    fi
    ln -s $PYENV_ROOT ~/
    shell="$1"
    if [ -z "$shell" ]; then
      shell="$(ps c -p "$PPID" -o 'ucomm=' 2>/dev/null || true)"
      shell="${shell##-}"
      shell="${shell%% *}"
      shell="$(basename "${shell:-$SHELL}")"
    fi
    colorize() {
      if [ -t 1 ]; then printf "e[%sm%se[m" "$1" "$2"
      else echo -n "$2"
      fi
    }
    checkout() {
      [ -d "$2" ] || git clone --depth 1 "$1" "$2"
    }
    if ! command -v git 1>/dev/null 2>&1; then
      echo "pyenv: Git is not installed, can't continue." >&2
      exit 1
    fi
    if [ -n "${USE_GIT_URI}" ]; then
      GITHUB="git://github.com"
    else
      GITHUB="https://github.com"
    fi
    checkout "${GITHUB}/yyuu/pyenv.git"            "${PYENV_ROOT}"
    checkout "${GITHUB}/yyuu/pyenv-doctor.git"     "${PYENV_ROOT}/plugins/pyenv-doctor"
    checkout "${GITHUB}/yyuu/pyenv-installer.git"  "${PYENV_ROOT}/plugins/pyenv-installer"
    checkout "${GITHUB}/yyuu/pyenv-update.git"     "${PYENV_ROOT}/plugins/pyenv-update"
    checkout "${GITHUB}/yyuu/pyenv-virtualenv.git" "${PYENV_ROOT}/plugins/pyenv-virtualenv"
    checkout "${GITHUB}/yyuu/pyenv-which-ext.git"  "${PYENV_ROOT}/plugins/pyenv-which-ext"
    if ! command -v pyenv 1>/dev/null; then
      { echo
        colorize 1 "WARNING"
        echo ": seems you still have not added 'pyenv' to the load path."
        echo
      } >&2
      case "$shell" in
      bash )
        profile="~/.bash_profile"
        ;;
      zsh )
        profile="~/.zshrc"
        ;;
      ksh )
        profile="~/.profile"
        ;;
      fish )
        profile="~/.config/fish/config.fish"
        ;;
      * )
        profile="your profile"
        ;;
      esac
      { echo "# Load pyenv automatically by adding"
        echo "# the following to ${profile}:"
        echo
        case "$shell" in
        fish )
          echo "set -x PATH "${PYENV_ROOT}/bin" $PATH"
          echo 'status --is-interactive; and . (pyenv init -|psub)'
          echo 'status --is-interactive; and . (pyenv virtualenv-init -|psub)'
          ;;
        * )
          echo "export PATH="${PYENV_ROOT}/bin:$PATH""
          echo "eval "$(pyenv init -)""
          echo "eval "$(pyenv virtualenv-init -)""
          ;;
        esac
      } >&2
    fi
    

    在.bashrc或.bash_profile设置情形变量:

    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"   # 这句可以不加
    

    编写翻译安装zlib库

    解压

    tar zxvf zlib-1.2.7.tar.gzcd zlib-1.2.7
    

    配备安装

    ./configuremakemake install
    

    私下认可安装的话,生成的动态库放在了/user/local/lib/上边,将该目录上边和zlib相关的库文件拷贝到/user/lib下 也能够用–prefix钦赐输出路线

    sudo cp /usr/local/lib/libz* /usr/lib
    

    其一是将动态库和静态库都拷贝到了/user/lib上边,静态库能够不拷贝,依据自个儿索要而定,都拷贝也没难点

    1.安装python

    下载Python源码

    从依靠须要的版本下载源文件。

    新葡亰496net 1
    诸如上海教室正是自己在官方网站直接找到3.5.6本子的下载页面,点击的tar源码包进行下载。

    下载Python源码

    使用

    编写翻译安装python3.5

    安装ssl相关库,使用pip的时候要用ssl通讯

    yum install openssl-devel
    

    解压

    tar zxvf Python-3.5.3.tgzcd Python-3.5.3
    

    布署安装

    configuremakemake install
    

    2.安装pip

    编译安装

    从依照要求的本子下载源文件。

    初叶化虚构意况

    初始化情状:

    source ~/.bash_profile
    

    翻看已设置的 python 版本和前段时间版本(暗许是system版本;virtualenv生成的虚构运维条件也是用三个本子表示的,可是system不是三个虚构情况)

    $ pyenv versions
    

    查阅能够设置的python版本

    $ pyenv install --list
    

    安装编写翻译python的注重库

    CentOS/RHEL/Fedora:
    sudo yum install readline readline-devel readline-static
    sudo yum install openssl openssl-devel openssl-static
    sudo yum install sqlite-devel
    sudo yum install bzip2-devel bzip2-libs
    
    Ubuntu:
    sudo apt-get update
    sudo apt-get install make build-essential libssl-dev zlib1g-dev
    sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
    sudo apt-get install llvm libncurses5-dev libncursesw5-dev
    

    设置钦点python版本,接纳的是编写翻译安装格局

    pyenv install 2.7.12 -s
    

    实践上边命令后,会从给定的网站中下载安装文件Python-2.7.12.tar.xz。但出于文件异常的大,下载须要十分久。提出做法是:先实施以上命令然后立时行车制动器踏板安装,那样就知道 pyenv 要下载的公文的链接。然后客户自身用其他更加快的点子(比如wget、迅雷等等)从该链接中下载安装文件(最佳选取镜像对应地址下载, 比方:http://mirrors.sohu.com/python/),并将安装文件移动到 ~/.pyenv/cache 目录下(该目录私下认可荒诞不经,客户要自行新建),再施行上边的指令。编写翻译安装本人也须要较长期。暗许安装路径是~/.pyenv/versions/2.7.12/

    检查、安装虚构运转情形:

    查看现有虚拟运行环境: pyenv versions,会列出所有版本,其中包括了虚拟运行环境的虚拟版本
    新建虚拟运行环境(初次执行会安装virtualenv): pyenv virtualenv 2.7.12 env.1
    激活虚拟运行环境: pyenv activate env.1
    安装自己需要的第三方包:
    pip install -r $ABSOLUTE_PATH/$PUBLIC_REQUIREMENTS_FILE
    pip install -r $ABSOLUTE_PATH/$PRIVATE_REQUIREMENTS_FILE --no-cache-dir --no-index -f $PIPPACK_DIR
    更新数据库, 在安装 Python 或者其他带有可执行文件的模块之后,需要对数据库进行更新::
    pyenv rehash
    

    施行下边命令后,虚构运行条件会新建目录: ~/.pyenv/versions/2.7.12/envs/env.1(此目录下有bin,include和lib文件夹), 同一时间生成软连新葡亰496net,~/.pyenv/versions/env.1指向此目录,运维pyenv versions命令,能够展现出2.7.12/envs/env.1和env.1三个版本。第三方包安装在/.pyenv/versions/2.7.12/envs/env.1/lib/python2.7/site-packages/上面。

    安装virtualenv

    pip install virtualenv
    
    wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
    python get-pip.py
    

    补充

    留心编译安装python前最棒先保障系统己安装上以下库

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

    解压源码包
    tar zxvf Python-3.5.6.tgz
    cd Python-3.5.6

    新葡亰496net 2

    切换虚构情形

    初始化环境:source ~/.bash_profile
    激活环境: pyenv activate env.1
    使用此虚拟环境的python: python my_task.py
    

    使用virtualenv创建python3环境

    virtualenv -p /user/local/bin/python3 py3env
    

    创造后会在当前目录下生成叁个py3env

    兴许会报错!!!如:

    openSUSE编译python3找不到ssl模块

    那会变成您在安顿虚构景况后使用pip去下载包的时候报https连接的错误!
    据此本身在遇到这些意况并饱经霜雪消除后将此步骤放到这里当做根本补充,避防你像自个儿那么往往重新编写翻译(非常耗费时间!)

    下图是本人碰到的在虚构情状python3.5.6版本下,使用pip安装django时报的错,就是因为编译安装风尚未点名ssl。
    新葡亰496net 3

    化解办法

    鉴于自家利用的是openSUSE的系统,所以本身动用yzpper in openssl openssl-devel安装好ssl了,但仍急需再行编写翻译安装技术正确导入ssl模块。

    在这里最佳直接编辑python3.5.6的源安装配置文件,毕竟openSUSE的ssl默许并非装在/usr/local/ssl

    • 运用vim实行编写制定:
      vim ~/Python3.5.6/Modules/Setup.dist
    • 未编写制定在此之前是长这么的,有关ssl的配备聚焦在207-210四行中。

    新葡亰496net 4

    但本人用的是openSUSE系统,所以只需求编写制定208-210三行,相当于#SSL=/usr/local/ssl不要去破除注释,防止弄巧成拙,当然作者倍感要设置成笔者系统的/etc/ssl可能也是能够的。

    • 编纂,也正是去掉相关行注释之后如下图:

    新葡亰496net 5

    后来再开展下一步的编写翻译三步。

    安顿选项
    sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6
    --enable-optimizations 为优化质量的选项,建议选拔上那些参数。
    --prefix为指虞诩装的路线

    注:python3.5.6自己反复尝试过了,它己经不认--with-sslwith-zlib等选项了,作者认为那或然是一种发展,因为笔者一旦漏装了zlib和readline的话,系统重新安装上正是了,不用再重复编写翻译python3也能准确导入了。但只顾的是ssl视系统景况不一而各异,openSUSE下ssl的话照旧得重新编写翻译且是在setup.dist中安排。

    配备选项
    sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
    --enable-optimizations 为最优安装,提出使用那个参数。
    --prefix为指虞升卿装的不二法门

    进展编写翻译安装

    sudo make
    sudo make install
    

    比方上海教室正是本人在官方网址直接找到3.5.6版本的下载页面,点击的tar源码包实行下载。

    剥离虚构景况

    pyenv deactivate
    

    注意

    1. 在py3env中装置软件应用pip3
    2. 举个例子virtualenv是通过yum安装的,请卸载后选取pip举办设置,不然成立设想境遇的时候就可以出错,会报版本和种类不兼容的标题。

    zlib包下载地址: python3.5包下载地址:

    Centos下Python3.5景况设置,并配备virtual蒙受 编写翻译安装zlib库 解压 tar zxvf zlib-1.2.7.tar.gzcd zlib-1.2.7 配...

    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

    修改Python软链

    暗许python命令是在/usr/bin/目录下,必要在此地把软链修改成3.5.6的版本,顺便创建四个3.5.6的软链。

    新葡亰496net 6
    上海体育场所是原私下认可软链接,是python2.7的,其实它也己经暗中认可营造了七个python2的软链接了。

    重新命名暗许python软链接为python2.7以便3.5的本子成为暗中认可情形变量
    sudo mv /usr/bin/python /usr/bin/python2.7
    确立python3.5本子的软链接
    sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python

    本来,也得以不做上一步,而是将3.5本子的软链接成python3之类也是卓有成效的。
    新葡亰496net 7
    比如笔者做的就是新扩充python3的软链接指向python3.5所在的目录。
    6虚拟环境,python版本切换和虚拟运行环境。顺便也将安插文件也做了一个软链接指向:
    sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config

    编写翻译安装

    删去设想情况

    pyenv uninstall env.1
    

    奉行python,步入python命令行,输入上边包车型客车代码,举办反省:

    补充

    注意 如无非常须求,推荐命名成分化python的软链接,因为您会开采即使你一向改了本来指向旧版本的软链接的话,pip,virtualenv等依赖原版本python的工具须求改它的py文件头的景况变量。

    新葡亰496net 8

    就算您改改了原软链接,使得python实际指向的是新本子的python的话,pip等仍依赖旧版本的工具要么重装要么修改它py文件的首行,按其实际处意况再次指向您的旧版本原版本的python情形,举例此处作者就可一贯改成/usr/bin/python2

    补充

    另外功效

    pyenv uninstall 卸载某个版本
    pyenv update 更新 pyenv 及其插件
    

    import ssl

    虚构境遇设置差异版本的python

    开创好项目目录,cd进到目录下。

    在开创python设想遭遇时,能够钦命虚构景况要利用的python版本,举例下命令(使用-p参数指明python解释器的路子):

      -p PYTHON_EXE, --python=PYTHON_EXE
                            The Python interpreter to use, e.g.,
                            --python=python3.5 will use the python3.5 interpreter
                            to create the new environment.  The default is the
                            interpreter that virtualenv was installed with
                            (/usr/bin/python)
    

    例:

    virtualenv -p /usr/bin/python2 ENV2.7  #创建python2.7的虚拟环境
    virtualenv -p /usr/bin/python3 ENV3.5  #创建python3.5的虚拟环境
    virtualenv --python=python3 my-env     #创建python3.5的虚拟环境
    

    就此装五个本子的python,有贰个缘故很关键,也等于想要使用virtualenv创设隔绝的虚构蒙受的时候钦定分化python版本。可是前边作者举行编写翻译安装的时候未有一些名编写翻译安装上zlib库,就能现出以下如图难点:

    新葡亰496net 9
    报找不到zlib模块错误。

    为此最佳照旧系统原蒙受变量安装成高版本的python,或实行python编写翻译安装的时候记得加上--with-zlib
    最好--with-zlib-develreadline也带上。

    当然,补救方法也是一对,就是重复张开编写翻译安装。
    (重新张开本文最开首的操作,当然本文最开头小编己经补充改正过了编写翻译安装时的配备。)

    小编由于重新编写翻译后依然报zlib模块错误,小编并不想弄污原来python2.7的境况,所以决定尝试virtualenv下载源码来利用,而zlib也进展编译安装来让python3也能通常导入zlib模块。

    瞩目编译安装python前最棒先保障系统己安装上以下库

    参考

    Python 多版本共存之 pyenv
    利用pyenv和virtualenv搭建python设想情状
    Python多版本切换工具-Pyenvvirtualenv及Anaconda科学总计遭逢的布局
    pyenv本地安装python

    唯恐还有可能会报错

    下载zlib模块并开展编写翻译安装

    官网下载最新版本的zlib源码文件,笔者下载的是zlib-1.2.11.tar.gz

    安装zlib:
    tar xzvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11

    建议暗中同意路径安装,编写翻译三部曲:

    ./configure
    make
    make install
    
    yum install zlib
    yum install zlib-devel
    yum install openssl
    yum install openssl-devel
    yum install readline-devel
    

    import ssl
    Traceback (most recent call last):
    File “”, line 1, in
    File “/usr/local/python27/lib/python2.7/ssl.py”, line 60, in
    import _ssl # if we can't import it, let the error propagate
    ImportError: No module named _ssl

    python导入zlib

    如下图,编写翻译安装到位zlib后,进python3测量试验己经恐怕符合规律导入zlib包。
    新葡亰496net 10

    zlib安装完后,libz.a/usr/local/lib/,opensusezlib.h暗许放在/usr/local/include/中。
    其它linux的zlib.h文本一般在/usr/include中。

    解压源码包

    翻看是或不是安装openssl 和 openssl-devel

    重复编写翻译python并钦命zlib

    固然还产生少数导入不成事,或你想向来软链接晋级python旧版本的,恐怕需求再行编写翻译python。

    跻身Python源码文件目录,重新编译Python

    sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib=/usr/include
    或者:
    ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib-dir=/usr/local/lib

    都足以实现python对zlib库的援助,在python源码中一直import zlib就能够使用zlib了。

    tar zxvf Python-3.5.6.tgz
    cd Python-3.5.6
    
    [xxx@xxx ~]# rpm -aq|grep openssl 
    openssl-x.x.xe-x.xxx
    openssl-devel-xxx-xxx
    

    下载virtualenv源码包

    直接到pypi下载16.0.0版本。
    tar命令举行解压
    tar xvfz virtualenv-16.0.0.tar.gz
    cd virtualenv-16.0.0
    此目录下文件如下,大家最重要采取的并非setup安装,而是间接运用它的virtualenv.py文件。

    新葡亰496net 11

    布署选项

    万一未有那四个包,就老实地安装吧

    virtualenv创制设想处境

    在项目目录下直接钦命python版本及virtualenv.py的绝对路径举办创办虚构情形:
    sudo python3 /home/operation/virtualenv-16.0.0/virtualenv.py py3

    新葡亰496net 12

    能够不开展全局安装,而是顾客下进展设想化情形可以间接使用python3 后接virtualenv.py运作,完美化解急需。

    也足以选用原python2下的全局virtualenv来进行,一样能够成立,如:

    operation@opensuse-wordpress:/work> sudo virtualenv --python=python3 my_py3_env
    [sudo] password for root: 
    Running virtualenv with interpreter /usr/bin/python3
    Using base prefix '/usr/local/python-3.5.6'
    New python executable in /work/my_py3_env/bin/python3
    Also creating executable in /work/my_py3_env/bin/python
    Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
    Installing setuptools, pip, wheel...done.
    

    编造隔断意况目录如下:
    新葡亰496net 13

    实际virtualenv的行职务令等见相关作品,在此就不再详述。

    sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
    --enable-optimizations 为最优安装,建议利用这些参数。
    --prefix为指定安装的门道

    [root@localhost ~]# yum install openssl-devel -y 
    

    测量试验设想遭遇下安装包

    测量试验走入设想情形中设置django,因为本身就试过openSUSE系统openssl和openssl-devel忘装而致使设想景况下python3.5.6本子采纳pip安装时报https连接错误的坑。(此坑和平消除决办法己补充到前文)

    cd /work/py3
    source py3/bin/activate
    

    注意:source那个命令不要带sudo使用才使得,不然会被报找不到source命令。

    新葡亰496net 14

    运行pip install django==1.11等等安装包的吩咐,下图可看出能平常实行安装。

    新葡亰496net 15

    测量检验成功,如此,在liunx下己经能够完成多版本的python完美共存。

    那般,在liunx下己经可以兑现多版本的python完美国共产党存。

    2018-8-15 铁乐与猫
    end

    举行编写翻译安装

    那是安装的代码,不过照旧会出现谬误,我的天哪

    sudo make
    sudo make install
    

    那是因为用于linux的yum命令是用python作为命令解释器的,大家把python从linux本来自带的2升级到3了

    修改Python软链

    化解办法:

    暗中同意python命令是在/usr/bin/目录下,供给在此处把软链修改成3.5.6的版本,顺便建设构造二个3.5.6的软链。

    a.进级yum,算了,一搜太费事

    新葡亰496net 16

    b.找到usr/bin/yum,展开将首先行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.6"就能够。2.6是小编linux自带的本子

    上海体育场地是原私下认可软链接,是python2.7的,其实它也己经默许建设构造了一个python2的软链接了。

    接下去正是重复安装上面的缺少的包openssl和openssl-devel

    重新命名暗中同意python软链接为python2.7以便3.5的本子成为私下认可遇到变量

    3.重新编写翻译一下python(重装)

    sudo mv /usr/bin/python /usr/bin/python2.7
    

    有的须求改一下vi /usr/software/Python-3.6.3/Modules/Setup 但本身没找到,直接跳过了,但最后也成功了

    建设构造python3.5本子的软链接

     Socket module helper for socket(2)
    _socket socketmodule.c timemodule.c
     Socket module helper for SSL support; you must comment out the other
     socket line above, and possibly edit the SSL variable:
    SSL=/usr/local/ssl
    _ssl _ssl.c 
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl 
    -L$(SSL)/lib -lssl -lcrypto
    
    sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python
    

    然后再重新编写翻译

    自然,也足以不做上一步,而是将3.5版本的软链接成python3之类也是立竿见影的。

    4.接下来就是实施python get-pip.py,当然能够再测验一下第2步

    新葡亰496net 17

    设置完后,使用 pip -V 报错,如下:

    举例说自个儿做的正是增创python3的软链接指向python3.5所在的目录。
    附带也将布署文件也做了二个软链接指向:

    bash: pip: command not found...

    sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config
    

    那儿怎么做吧??

    补充

    做八个软连接就能够:

    注意 如无特别须求,推荐命名成差别python的软链接,因为您会意识假让你直接改了原来指向旧版本的软链接的话,pip,virtualenv等注重原版本python的工具需求改它的py文件头的遭逢变量。

    先是查下安装路线:

    新葡亰496net 18

    find / -name pip

    只要您改改了原软链接,使得python实际指向的是新本子的python的话,pip等仍依赖旧版本的工具要么重装要么修改它py文件的首行,按其实况形再一次指向您的旧版本原版本的python碰到,举例此处作者就可一贯改成/usr/bin/python2

    然做个软连接

    虚构景况设置分裂版本的python

    ln -sv /usr/local/python/bin/pip /usr/bin/pip

    开创好项目目录,cd进到目录下。

    做完就足以用了

    在成立python虚拟情况时,能够内定设想情状要运用的python版本,比如下命令(使用-p参数指明python解释器的路子):

    5.接下来大概了

     -p PYTHON_EXE, --python=PYTHON_EXE
     The Python interpreter to use, e.g.,
     --python=python3.5 will use the python3.5 interpreter
     to create the new environment. The default is the
     interpreter that virtualenv was installed with
     (/usr/bin/python)
    

    a.安装 虚构情况

    例:

    pip install virtualenv
    pip install virtualenvwrapper (管理虚拟环境的扩展包)
    # 创建用来保存虚拟环境的文件夹
    mkdir ~/Envs
    sudo vi ~/.bashrc
    # 添加下面两行
    export WORKON_HOME=~/Envs (如果不写会有读写权限问题)
    source /usr/local/bin/virtualenvwrapper.sh
    # 运行 source ~/.bashrc
    
    virtualenv -p /usr/bin/python2 ENV2.7 #创建python2.7的虚拟环境
    virtualenv -p /usr/bin/python3 ENV3.5 #创建python3.5的虚拟环境
    virtualenv --python=python3 my-env #创建python3.5的虚拟环境
    

    b.使用

    故此装多少个版本的python,有一个缘故很要紧,也正是想要使用virtualenv创造隔开分离的虚构景况的时候钦定差异python版本。不过前边笔者进行编写翻译安装的时候从不点名编写翻译安装上zlib库,就能够油可是生以下如图难点:

    # 新建
    mkvirtualenv -p (python版本) name (创建的虚拟环境可以在上面设置的路径文件夹里面找到)
    # 选择 
    workon name
    # 删除
    rmvirtualenv name 
    # 退出
    deactivate
    

    新葡亰496net 19

    小结:设想景况的确立特别须求,可是因为晋升python 操作不当轻巧吸引版本争执

    报找不到zlib模块错误。

    之所以现身各样难点,对后边的干活变成影响,所以绝对要留神。

    因而最棒仍旧系统原遇到变量安装成高版本的python,或进行python编写翻译安装的时候记得加上--with-zlib。
    最好--with-zlib-devel和readline也带上。

    对于找不到 virtualenv 的报错化解

    理当如此,补救措施也是一些,正是重复举行编写翻译安装。
    (重新举行本文最发轫的操作,当然本文最最初小编己经补充改进过了编写翻译安装时的布署。)

    并发这种错误,是因为 virtualenv 那些基础重视包被安装在了Mac 的暗许Python 目录下,就需求做一个软连接 ln -s。

    小编由于重新编写翻译后还是报zlib模块错误,小编并不想弄污原来python2.7的情状,所以决定尝试virtualenv下载源码来选取,而zlib也拓展编写翻译安装来让python3也能平常导入zlib模块。

    ERROR: virtualenvwrapper could not find virtualenv in your path

    下载zlib模块并拓宽编写翻译安装

    第一依旧用 find / -name "virtualenv" 去找到地方,最终这一行便是virtualenv,能够望见在 Frameworks 目录,即 Mac 自带 Python 所在的地点。

    官网下载最新版本的zlib源码文件,小编下载的是zlib-1.2.11.tar.gz

    sudo find / -name "virtualenv"
    find: /dev/fd/3: Not a directory
    find: /dev/fd/4: Not a directory
    /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
    

    安装zlib:

    终极举行软连接

    tar xzvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11
    
    $ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/v
    

    建议暗中认可路线安装,编写翻译三部曲:

    总结

    ./configure
    make
    make install
    

    上述所述是小编给我们介绍的Linux(Redhat)安装python3.6虚构景况,希望对我们具备援救,如果我们有其余疑窦招待给小编留言,作者会及时还原大家的!

    python导入zlib

    你也许感兴趣的文章:

    • Linux安装Python虚构蒙受virtualenv的章程
    • Python设想情况virtualenv的装置与运用详解
    • python虚构景况virualenv的装置与使用
    • python搭建设想景况的步调详解
    • Python设想境遇Virtualenv使用教程

    一般来讲图,编写翻译安装到位zlib后,进python3测验己经或者平常导入zlib包。

    新葡亰496net 20

    zlib安装完后,libz.a在/usr/local/lib/,opensuse中zlib.h私下认可放在/usr/local/include/中。
    另外linux的zlib.h文件一般在/usr/include中。

    双重编写翻译python并钦赐zlib

    假若还发出少数导入不成功,或你想向来软链接进级python旧版本的,可能需求再度编译python。

    步向Python源码文件目录,重新编写翻译Python

    sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib=/usr/include
    

    或者:

    ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib-dir=/usr/local/lib
    

    都能够成功python对zlib库的帮助,在python源码中央直属机关接import zlib就可以使用zlib了。

    下载virtualenv源码包

    直接到pypi下载16.0.0版本。
    tar命令进行解压

    tar xvfz virtualenv-16.0.0.tar.gz
    cd virtualenv-16.0.0
    

    此目录下文件如下,大家第一行使的并非setup安装,而是一向动用它的virtualenv.py文件。

    新葡亰496net 21

    virtualenv创设设想情形

    在品种目录下直接内定python版本及virtualenv.py的相对路径进行创办设想蒙受:

    sudo python3 /home/operation/virtualenv-16.0.0/virtualenv.py py3
    

    新葡亰496net 22

    能够不进行全局安装,而是客商下张开设想化景况能够平昔运用python3 后接virtualenv.py运营,完美化解须要。

    也得以运用原python2下的全局virtualenv来推行,一样能够创立,如:

    operation@opensuse-wordpress:/work> sudo virtualenv --python=python3 my_py3_env
    [sudo] password for root: 
    Running virtualenv with interpreter /usr/bin/python3
    Using base prefix '/usr/local/python-3.5.6'
    New python executable in /work/my_py3_env/bin/python3
    Also creating executable in /work/my_py3_env/bin/python
    Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
    Installing setuptools, pip, wheel...done.
    

    设想隔断境况目录如下:

    新葡亰496net 23

    实际virtualenv的利用命令等见相关文章,在此就不再详述。
    那样,在liunx下己经能够达成多版本的python完美国共产党存。

    如上正是本文的全部内容,希望对我们的求学抱有帮忙,也愿意我们多多协理脚本之家。

    你大概感兴趣的小说:

    • 在Linux上设置Python的Flask框架和创办第二个app实例的课程
    • 详解linux下安装python3环境
    • 详解如何在 Linux 中安装新型的 Python 3.6 版本
    • Linux上设置Python的PIL和Pillow库管理图片的实例教程
    • Linux境况下MySQL-python安装过程分享
    • 在Linux系统上设置Python的Scrapy框架的科目
    • Linux中Python 情形软件包安装步骤
    • 详解Linux Centos7下安装Python的方法
    • Linux下为差别版本python安装第三方库
    • Linux下安装IPython配置python开荒境况教程

    本文由新葡亰496net发布于奥门新萄京娱乐场,转载请注明出处:6虚拟环境,python版本切换和虚拟运行环境

    关键词:

上一篇:递归函数,递归与二分法

下一篇:没有了