金沙澳门官网Linux安装多个Python版本,Linux下多个

作者: 网络编程  发布:2019-08-01

目录

因为条件或上学的要求,我们大概必要在服务器上安装八个python版本,安装三个翻新的python版本后,使用软链来拓表现成。

  • Linux安装三个Python版本
    • 下载Python源码
    • 编写翻译安装
      • 补充
      • openSUSE编译python3找不到ssl模块
    • 修改Python软链
      • 补充
    • 设想景况设置分裂版本的python
      • 下载zlib模块并开始展览编译安装
      • python导入zlib
      • 再也编写翻译python并点名zlib
      • 下载virtualenv源码包
    • virtualenv创造虚构情形
    • 测量检验设想遇到下安装包

其不时候须要展开源码编译安装。

Linux安装多少个Python版本

因为条件或上学的内需,我们兴许须要在服务器上安装多少个python版本,安装二个翻新的python版本后,使用软链来举办现成。

那一年必要开始展览源码编写翻译安装。

理之当然后续开拓项目方可直接跑在虚构情况下隔开开来,就不再需求在服务器上安装多少个分化版本的包了。

自然后续开采品种得以一贯跑在设想意况下隔绝开来,就不再必要在服务器上安装多个差异版本的包了。

下载Python源码

从基于供给的版本下载源文件。

金沙澳门官网 1
诸如上海教室正是自家在官方网站直接找到3.5.6版本的下载页面,点击的tar源码包举办下载。

下载Python源码

编写翻译安装

从基于须要的版本下载源文件。

补充

留心编写翻译安装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

金沙澳门官网 2

openSUSE编译python3找不到ssl模块

那会促成你在配备设想意况后使用pip去下载包的时候报https连接的错误!
之所以笔者在遭逢这一个状态并饱经霜雪化解后将此步骤放到这里当做入眼补充,避防你像自家那么频仍再一次编译(特别耗时!)

下图是自身碰到的在设想遇到python3.5.6版本下,使用pip安装django时报的错,就是因为编写翻译安装时从没点名ssl。
金沙澳门官网 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四行中。

金沙澳门官网 4

但自己用的是openSUSE系统,所以只要求编写制定208-210三行,也等于#SSL=/usr/local/ssl不要去破除注释,防止弄巧成拙,当然作者以为到要设置成作者系统的/etc/ssl恐怕也是足以的。

  • 编写制定,也便是去掉相关行注释之后如下图:

金沙澳门官网 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源码包实行下载。

修改Python软链

暗中认可python命令是在/usr/bin/目录下,必要在这里把软链修改成3.5.6的版本,顺便建构二个3.5.6的软链。

金沙澳门官网 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之类也是可行的。
金沙澳门官网 7
举个例子本人做的就是增创python3的软链接指向python3.5所在的目录。
附带也将布署文件也做了二个软链接指向:
sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config

编写翻译安装

补充

注意 如无极度需求,推荐命名成分歧python的软链接,因为你会开采如果你平素改了原先指向旧版本的软链接的话,pip,virtualenv等依赖原版本python的工具须要改它的py文件头的情形变量。

金沙澳门官网 8

万一你改改了原软链接,使得python实际指向的是新本子的python的话,pip等仍仰仗旧版本的工具要么重装要么修改它py文件的首行,按实际上景况重新指向你的旧版本原版本的python情况,举例此处小编就可径直改成/usr/bin/python2

补充

设想碰着设置区别版本的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库,就能够现身以下如图难题:

金沙澳门官网 9
报找不到zlib模块错误。

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

自然,补救措施也会有的,就是重新展开编写翻译安装。
(重新张开本文最开首的操作,当然本文最开首作者己经补充改正过了编写翻译安装时的安排。)

作者由于重新编写翻译后仍旧报zlib模块错误,作者并不想弄污原本python2.7的条件,所以决定尝试virtualenv下载源码来行使,而zlib也进展编写翻译安装来让python3也能健康导入zlib模块。

专注编写翻译安装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

python导入zlib

如下图,编写翻译安装完毕zlib后,进python3测量检验己经也许平日导入zlib包。
金沙澳门官网 10

zlib安装完后,libz.a/usr/local/lib/,opensusezlib.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了。

tar zxvf Python-3.5.6.tgz
cd Python-3.5.6

下载virtualenv源码包

直接到pypi下载16.0.0版本。
tar命令实行解压
tar xvfz virtualenv-16.0.0.tar.gz
cd virtualenv-16.0.0
此目录下文件如下,大家根本采纳的实际不是setup安装,而是直接运用它的virtualenv.py文件。

金沙澳门官网 11

布置选项

virtualenv创造设想境遇

在档期的顺序目录下直接钦定python版本及virtualenv.py的相对路线进行创办虚构情状:
sudo python3 /home/operation/virtualenv-16.0.0/virtualenv.py py3

金沙澳门官网 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.

设想隔断情形目录如下:
金沙澳门官网 13

现实virtualenv的施用命令等见相关小说,在此就不再详述。

sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
--enable-optimizations 为最优安装,建议使用这一个参数。
--prefix为指虞升卿装的路子

测验设想蒙受下安装包

测量检验步向设想环境中设置django,因为自个儿就试过openSUSE系统openssl和openssl-devel忘装而招致虚构景况下python3.5.6版本采纳pip安装时报https连接错误的坑。(此坑和平解决决办法己补充到前文)

cd /work/py3
source py3/bin/activate

注意:source这一个命令不要带sudo使用才有效,不然会被报找不到source命令。

金沙澳门官网 14

运行pip install django==1.11等等安装包的下令,下图可看到能健康开始展览设置。

金沙澳门官网 15

测量检验完了,如此,在liunx下己经能够兑现多版本的python完美国共产党存。

这么,在liunx下己经能够达成多版本的python完美国共产党存。

2018-8-15 铁乐与猫
end

举行编写翻译安装

sudo make
sudo make install

修改Python软链

私下认可python命令是在/usr/bin/目录下,需求在此处把软链修改成3.5.6的本子,顺便创建一个3.5.6的软链。

金沙澳门官网 16

上海体育场所是原暗中认可软链接,是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之类也可以有效的。

金沙澳门官网 17

举个例子说本人做的正是增创python3的软链接指向python3.5所在的目录。
附带也将计划文件也做了三个软链接指向:

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

补充

注意 如无特别要求,推荐命名成差别python的软链接,因为您会开采要是你直接改了原来指向旧版本的软链接的话,pip,virtualenv等正视原版本python的工具要求改它的py文件头的境况变量。

金沙澳门官网 18

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

设想景况设置不一样版本的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库,就晤面世以下如图难点:

本文由金沙澳门官网发布于网络编程,转载请注明出处:金沙澳门官网Linux安装多个Python版本,Linux下多个

关键词: 金沙澳门官网

上一篇:Django部署到线上
下一篇:没有了