Linux安装几个Python版本,Cmake编译安装MySQL

by admin on 2019年2月5日

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 是源码包 (编译安装)
  • 源码格式仅仅就是一个版本号的tar包
  • mysql-5.0.45-linux-x86_64-glibc23.tar.gz 是二进制包

3.测试

  

1 node -v
2 node -v

 

  

下载Python源码

从依据需求的版本下载源文件。

bf88必发唯一官网 1
例如上图就是自身在官网直接找到3.5.6本子的下载页面,点击的tar源码包进行下载。

下载Python源码

抱有的操作依据实际境况而定

  • Camek下载:
  • Linux安装几个Python版本,Cmake编译安装MySQL。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

bf88必发唯一官网 2

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

> rpm -qa | grep mysql

openSUSE编译python3找不到ssl模块

这会导致你在安插虚拟环境后使用pip去下载包的时候报https连接的谬误!
为此自己在碰到这些场地并千辛万苦解决后将此步骤放到那里当做重大补充,防止你像我那么往往再一次编译(极其耗时!)

下图是我赶上的在虚拟环境python3.5.6版本下,使用pip安装django时报的错,就是因为编译安装时未尝点名ssl。
bf88必发唯一官网 3

Linux安装几个Python版本,Cmake编译安装MySQL。解决办法

由于自己利用的是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四行中。

bf88必发唯一官网 4

但自身用的是openSUSE系统,所以只需求编制208-210三行,也就是#SSL=/usr/local/ssl不要去排除注释,避防弄巧成拙,当然我备感要设置成我系统的/etc/ssl莫不也是可以的。

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

bf88必发唯一官网 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的软链。

bf88必发唯一官网 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之类也是卓有成效的。
bf88必发唯一官网 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文件头的环境变量。

bf88必发唯一官网 8

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

补充

bf88必发唯一官网,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库,就会产出以下如图难点:

bf88必发唯一官网 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包。
bf88必发唯一官网 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
此目录下文件如下,我们尊敬使用的并不是setup安装,而是径直利用它的virtualenv.py文件。

bf88必发唯一官网 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

bf88必发唯一官网 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.

虚拟隔离环境目录如下:
bf88必发唯一官网 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命令。

bf88必发唯一官网 14

运行pip install django==1.11等等安装包的吩咐,下图可观察能健康开展设置。

bf88必发唯一官网 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.5.6的软链。

1.4布署多实例的MySQL数据库

bf88必发唯一官网 16

1.开立多实例目录

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

上图是原默许软链接,是python2.7的,其实它也己经默许建立了一个python2的软链接了。

2.为差其他实例创制创制布局文件(文章结尾附配置文件)

> vim /data/3306/my.cnf
> vim /data/3307/my.cnf

重新命名默许python软链接为python2.7以便3.5的本子成为默许环境变量

3.创制MySQL多实例启动文件(小说结尾附启动文件)

> vim /data/3306/mysql
> vim /data/3307/mysql
sudo mv /usr/bin/python /usr/bin/python2.7

4.授权mysql用户目录权限

> chown -R mysql.mysql /data

1.将my.cnf文件权限设置成644
> chmod 644 /data/3306/my.cnf
> chmod 644 /data/3307/my.cnf

2.由于mysql脚本中保存了登录数据库的密码,需要将文件权限设置成700,只允许root,mysql访问
> chmod 700 /data/3306/mysql
> chmod 700 /data/3307/mysql

确立python3.5本子的软链接

5.布局MySQL命令全局使用路径

只要不为MySQL的命令配置全局路径,就不可能直接在命令行输入mysql,那样只可以用一体径/application/msyq/bin/mysql
那样带着路径输出会相比麻烦

1.确认mysql命令所在路径
    > ll /data/mysql/bin/mysql

2.修改PATH路径
    #修改文件
    > vim /etc/profile
    #添加如下一行
    > export PATH=/data/mysql/bin:$PATH
    #让其生效
    > source /etc/profile

3.检查PATH是否生效
    > echo $PATH

4.确认上个命令的输出是否有/mysql/bin:(Mysql安装的bin目录)
sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python

6.先导化数据库

> cd /usr/local/mysql/scripts/

1.注意5.5和MySQL 5.1的路径不同,MySQL 5.1 不在mysql/bin下
    > ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data/ --user=mysql
    > ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data/ --user=mysql

2.每个初始化出现两个ok则说明成功

本来,也得以不做上一步,而是将3.5本子的软链接成python3之类也是实用的。

7.启动、关闭MySQL

> /data/3306/mysql start
> /data/3307/mysql start
> /data/3306/mysql stop
> /data/3307/mysql stop

bf88必发唯一官网 17

8.检查是或不是启动成功

    > ps -ef | grep mysqld
或者
    > netstat -anp | grep 3306

比如说自己做的就是骤增python3的软链接指向python3.5所在的目录。
顺手也将安插文件也做了一个软链接指向:

9.为用户增添密码,修改密码

> mysqladmin -S /data/3306/mysql.sock -u root password '123.asd'
sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config

10.多实例数据库的登陆

本地登陆:
    > mysql -u root -p -S /data/3306/mysql.sock
远程登录:mysql –h主机名 -u用户名 –p密码 –P3306
    > system mysql -u root -p -S /data/3307/mysql.sock

补充

1.5添加实例(比如3308,ruguo )

> mkdir -p /data/3308/data 

#下面的两步操作注意文件中的端口号
> vim /data/3308/my.cnf
> vim /data/3308/mysql
> chown -R mysql.mysql /data
> chmod 644 /data/3308/my.cnf
> chmod 700 /data/3308/mysql
> cd /usr/local/mysql/scripts/
> ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3308/data/ --user=mysql
> /data/3308/mysql start
> mysqladmin -S /data/3308/mysql.sock -u root password '123.asd'

注意
如无更加需求,推荐命名成差距python的软链接,因为您会发觉如若你直接改了原本指向旧版本的软链接的话,pip,virtualenv等正视原版本python的工具要求改它的py文件头的环境变量。

附:

bf88必发唯一官网 18

1.MySQL多实例的安排文件(标注的地方需要注意,每个实例的端口要修改)

[client]
port=   3306     
socket =  /data/3306/mysql.sock

[mysql]
no-auto-rehash

[mysqld]
user= mysql
port= 3306
socket= /data/3306/mysql.sock
basedir = /usr/local/mysql
datadir = /data/3306/data
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_cache = 614
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
#default_table_type = InnoDB
thread_stack = 192K
#transaction_isolation = READ-COMMITTED
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
#log_long_format
#log-error = /data/3306/error.log
#log-slow-queries = /data/3306/slow.log
pid-file = /data/3306/mysql.pid
log-bin = /data/3306/mysql-bin
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
#myisam_sort_buffer_size = 1M
#myisam_max_sort_file_size = 10G
#myisam_max_extra_sort_file_size = 10G
#myisam_repair_threads = 1
#myisam_recover

lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql

server-id = 1

innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0

[mysqldump]
quick
max_allowed_packet = 2M

[mysqld_safe]
log-error=/data/3306/mysql_3306.err
pid-file=/data/3306/mysqld.pid     

倘诺您改改了原软链接,使得python实际指向的是新本子的python的话,pip等仍仰仗旧版本的工具要么重装要么修改它py文件的首行,按实际上处境重新指向你的旧版本原版本的python环境,例如此处我就可直接改成/usr/bin/python2

2.MySQL多实例的起步文件(标注的地点须求留意,每个实例的端口要修改)

#init
port=3306
mysql_user="root"
mysql_pwd="yourpwd"
CmdPath="/usr/local/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
#startup function
function_start_mysql()
{
 if [ ! -e "$mysql_sock" ];then
     printf "Starting MySQL...\n"
     /bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &
   else
      printf "MySQL is running...\n"
      exit
    fi
}

#stop function
function_stop_mysql()
{
   if [ ! -e "$mysql_sock" ];then
      printf "MySQL is stopped...\n"
      exit
   else
      printf "Stoping MySQL...\n"
       ${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
   fi
}

#restart function
function_restart_mysql()
{
    printf "Restarting MySQL...\n"
   function_stop_mysql
    sleep 2
   function_start_mysql
}

case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: /data/${port}/mysql {start|stop|restart}\n"
esac    

虚拟环境设置差别版本的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库,就会现出以下如图难题:

bf88必发唯一官网 19

报找不到zlib模块错误。

因而最好仍旧系统原环境变量安装成高版本的python,或举办python编译安装的时候记得加上–with-zlib。
最好–with-zlib-devel和readline也带上。

自然,补救措施也是一些,就是重新进行编译安装。
(重新举办本文最开端的操作,当然本文最开始作者己经补充改正过了编译安装时的布置。)

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

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

python导入zlib

一般来说图,编译安装达成zlib后,进python3测试己经可能正常导入zlib包。

bf88必发唯一官网 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文件。

bf88必发唯一官网 21

virtualenv创造虚拟环境

在档次目录下间接指定python版本及virtualenv.py的相对路径举办创办虚拟环境:

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

bf88必发唯一官网 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.

虚构隔离环境目录如下:

bf88必发唯一官网 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开发环境教程

发表评论

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

网站地图xml地图