Linux安装八个Python版本

1.下载

  地址

  注: 系统为ubuntu 下载的源码包 tar.gz

  或者

1 wget https://nodejs.org/dist/v9.5.0/node-v9.5.0-linux-x64.tar.xz

  在意:那一个包下载下来正是源码,解压之后就存在node和npm。无需重新编写翻译。

目录

因为环境或上学的内需,咱们只怕需求在服务器上安装八个python版本,安装二个更新的python版本后,使用软链来展开现有。

Cmake编写翻译安装MySQL&多配备文件安插MySQL多实例方案

上一节已经简单介绍过MySQL多实例、应用场景、优缺点以及二种实施方案,本文主要介绍第②种即多配备文件布署多实例MySQL,单一配置文件布置方案会在下一节开始展览实战。

2.解压,编译,安装

  

1 tar xvf node-v9.5.0-linux-x64.tar.xz

  

  • Linux安装五个Python版本
    • 下载Python源码
    • 编写翻译安装
      • 补充
      • openSUSE编译python3找不到ssl模块
    • 修改Python软链
      • 补充
    • 虚拟环境设置不相同版本的python
      • 下载zlib模块并举办编写翻译安装
      • python导入zlib
      • 重复编写翻译python并点名zlib
      • 下载virtualenv源码包
    • virtualenv创立虚拟环境
    • 测试虚拟环境下安装包

以此时候须要进行源码编写翻译安装。

说明:

  • 正文参考老男孩MySQL教程,为自个儿实战操作记录
  • 以创建2个为例

  创造软链接

  创造软链接的指标正是让 nodenpm 全局有效

1 ln -s /download/node-v9.5.0-linux-x64/bin/node /usr/local/bin/
2 ln -s /download/node-v9.5.0-linux-x64/bin/npm /usr/local/bin/

  瞩目:路径要规定是和谐安装的文本路径

Linux安装多少个Python版本

因为条件或上学的内需,大家恐怕必要在服务器上安装多个python版本,安装三个更新的python版本后,使用软链来展开现有。

那个时候需求进行源码编写翻译安装。

理所当然后续开发项目得以直接跑在虚拟环境下隔开分离开来,就不再需求在服务器上安装多少个例外版本的包了。

自然后续开发品种能够一贯跑在虚拟环境下隔开开来,就不再供给在服务器上安装四个例外版本的包了。

MySQL二进制包和源码包的分别

  • 二进制格式的包名字十分长,都带有版本号、适应平台、适应的硬件类型等
  • mysql-5.0.45.tar.gz 是源码包 (编写翻译安装)
  • 源码格式仅仅正是3个版本号的tar包
  • mysql-5.0.45-linux-x86_64-glibc23.tar.gz 是二进制包

3.测试

  

1 node -v
2 node -v

 

  

下载Python源码

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

图片 1
诸如上海教室便是本人在官网直接找到3.5.6本子的下载页面,点击的tar源码包进行下载。

下载Python源码

全数的操作依据真实景况而定

  • Camek下载:
  • MySQL下载:

编写翻译安装

从据他们说需求的版本下载源文件。

1.1准备安装环境

补充

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

1.首先检查是还是不是曾经设置过mysql:

> rpm -qa | grep mysql

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源码包举办下载。

2.有的话就卸载掉在此以前设置的mysql:

> rpm -e --nodeps xxx(xxx是搜索结果)

修改Python软链

私下认可python命令是在/usr/bin/目录下,供给在此地把软链修改成3.5.6的版本,顺便建立三个3.5.6的软链。

图片 6
上海教室是原默许软链接,是python2.7的,其实它也己经私下认可建立了1个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

编写翻译安装

3.并删除全体的连带文件:

> rm -f /etc/my.cnf

补充

注意
如无尤其必要,推荐命名成分化python的软链接,因为您会发现如若你一贯改了本来指向旧版本的软链接的话,pip,virtualenv等注重原版本python的工具需求改它的py文件头的环境变量。

图片 8

借使你改改了原软链接,使得python实际指向的是新本子的python的话,pip等仍仰仗旧版本的工具要么重装要么修改它py文件的首行,按其实际情形况再次指向你的旧版本原版本的python环境,例如此处笔者就可径直改成/usr/bin/python2

补充

1.2下载cmake安装包编写翻译安装cmake

虚拟环境设置区别版本的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前最好先保障系统己安装上以下库

1.下载解压Cmake

> wget  https://cmake.org/files/v3.9/cmake-3.9.1.tar.gz
> tar zxf  cmake-3.9.1.tar.gz

下载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

2.编写翻译安装cmake

> cd cmake-3.9.1
> ./configure
> gmake
> echo $?      #编译但是未安装之前判断是否编译有错
> gmake install

python导入zlib

如下图,编写翻译安装完毕zlib后,进python3测试己经恐怕平常导入zlib包。
图片 10

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

解压源码包

1.3下载MySQL编写翻译安装MySQL

重复编译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

1.装置注重包

> yum -y install libaio libaio-devel     
> yum -y install ncurses-devel         

下载virtualenv源码包

直接到pypi下载16.0.0版本。
tar命令进行解压
tar xvfz virtualenv-16.0.0.tar.gz
cd virtualenv-16.0.0
此目录下文件如下,大家第3运用的并不是setup安装,而是径直行使它的virtualenv.py文件。

图片 11

陈设选项

2.创办用户组 用户

> groupadd mysql
> useradd mysql -s /sbin/nologin -M -g mysql

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为指虞诩装的不二法门

3.下载解压

> wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.57.tar.gz
> tar -zxf mysql-5.5.57.tar.gz

测试虚拟环境下安装包

测试进入虚拟环境中设置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

展开编写翻译安装

4.cmake编写翻译安装(编写翻译时不能够内定布署文件端口号mysql.sock地址等)

> cd mysql-5.5.57
> cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.57 -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/my.cnf  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all
> make && make install
sudo make
sudo make install

5.检查是或不是安装成功

> echo $?
> 0
#(输出0表示成功)

修改Python软链

6.安装软链接及配置文件

> ln -s /usr/local/mysql55 /usr/local/mysql 

暗中同意python命令是在/usr/bin/目录下,必要在那边把软链修改成3.5.6的本子,顺便建立3个3.5.6的软链。

1.4安插多实例的MySQL数据库

图片 16

1.创立多实例目录

> mkdir -pv /data/{3306,3307}/data
> tree data

发表评论

电子邮件地址不会被公开。 必填项已用*标注