Python - 各平台配置Python环境

353 阅读8分钟

返回Python目录

about

本篇介绍各平台搭建Python环境。

所有版本的Python安装包都可以在这个链接中下载:www.python.org/ftp/python/

CentOS 7

这里介绍两种安装方式:

  • yum安装,简单省事儿,但截至到本篇博客编写时,默认的,你只能安装的最高Python版本为3.6,如果你想要安装更高版本的Python,你要手动的配置别的源。如果你的系统中只需要一个Python环境,且是3.6及以下版本,推荐使用yum,因为太简单了。
  • 源码安装,各种版本任选,安装位置任选,适用于复杂的多版本Python环境。

无论哪种方式安装,这里推荐你无脑的安装以下相关依赖:

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

yum安装

安装:

[root@cs /]# yum install python36 -V

默认的,它的pip会被安装到/usr/lib/python3.6这个目录内。并且配置好了软连接,所以你可以直接用了:

[root@cs /]# python3 -V
Python 3.6.8
[root@cs /]# pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

完事!

编译安装Python3.6

所有版本的Python安装包都可以在这个链接中下载:www.python.org/ftp/python/

0. 下载依赖:

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

1. 下载Python的源码包,可以选择下载各种版本的源码包,后续的步骤是一样的。

参考地址:www.python.org/ftp/python/… 这里我们将源码包下载到home目录,所以先要切换到home目录。当然其他目录也无所谓,反正最后都要删除这个源码包的:

cd /home
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

2. 解压源码包,然后tar包就可以删除了。

还是在home目录:

tar -zxvf Python-3.6.8.tgz
rm -rf Python-3.6.8.tgz

参数解释:

  • z 调用gzip指令,解压缩文件
  • x 解包,解开tar的压缩格式
  • v 显示操作过程
  • f 指定压缩文件名字

3. 进入python3.6源码目录,准备开始编译。

当上一步在解压完毕后,home目录中会多一个解压后的目录,我们cd进去:

cd Python-3.6.8

然后,然后使用configure命令将Python安装到指定目录,--prefix参数是指定安装到哪里,以及检查Python编译所需的依赖关系是否正常:

./configure --prefix=/usr/local/src/python36/

现在,执行编译命令即可:

make && make install

PS:make是编译,make install是编译安装,只有make编译成功了才会继续make install 安装 python3。

4. 配置PATH。

编译安装结束后,配置PATH环境变量才能更方便的使用。 这里演示永久添加python3的PATH路径,首先要知道Python的安装路径:

[root@cs Python-3.6.8]# ls /usr/local/src/python36/
bin  include  lib  share
[root@cs Python-3.6.8]# ls /usr/local/src/python36/bin/
2to3  2to3-3.6  easy_install-3.6  idle3  idle3.6  pip3  pip3.6  pydoc3  pydoc3.6  python3  python3.6  python3.6-config  python3.6m  python3.6m-config  python3-config  pyvenv  pyvenv-3.6

如上,Python的安装目录是/usr/local/src/python36/,而需要添加到PATH中的路径使其中的bin目录,也就是/usr/local/src/python36/bin/目录。 现在,编辑/etc/profile文件:

vim /etc/profile  #打开全局环境变量配置文件

在文件的最后,追加写入如下内容:

export PATH=/usr/local/src/python36/bin/:$PATH

其原理就是,将当前/usr/local/src/python36/bin/目录添加到原有的$PATH前面,说白了就是路径拼接:

# 如原来的PATH是
/opt/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 那现在python的环境变量路径就用 :符号拼接到原来的路径前面
/usr/local/src/python36/bin/:/opt/mysql/bin:/opt/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 所以,你其实也可以在/etc/profile 文件中追加上这个拼接后的路径
PATH='/usr/local/src/python36/bin/:/opt/mysql/bin:/opt/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'

写进入之后wq保存退出,使用如下命令使配置立即生效:

source /etc/profile

5. 这里在配置一个软链,防止有些权限较低的程序无权限调用/etc/profile,但又有需要调用Python的情况:

[root@cs Python-3.6.8]# ln -s /usr/local/src/python36/bin/python3 /usr/bin/python3
[root@cs Python-3.6.8]# ln -s /usr/local/src/python36/bin/pip3 /usr/bin/pip3

6. 验证python3和pip3是否正常

which python3
which pip3 
python3 -V
pip3 -V

编译安装Python3.11

centos7.5 + python3.11.4

安装

一晃3.6版本的解释器也老了,Python3.12都出来了,所以,我只好更新下新版的解释器的安装,当然,不会安装最新的,这里以3.11版本为例。

首先下载依赖:

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

然后官网下载tar包。

www.python.org/ftp/python/ www.python.org/ftp/python/…

也可以从百度云盘链接中下载pan.baidu.com/s/1sape5Knm… 提取码:7nzz

下载到你的centos中之后,就可以进行解压并且编译安装了,各个命令啥意思,我就不解释了,参考3.6安装过程的解释。 我这边将python3.11安装位置是/opt目录下。

1. 下载并且解压

[root@cs local]# cd /opt/
[root@cs opt]# pwd
/opt
[root@cs opt]# wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz
[root@cs opt]# ls Py*
Python-3.11.4.tar.xz
[root@cs opt]# tar xvf Python-3.11.4.tar.xz
[root@cs opt]# ls
Python-3.11.4					# 解压包解压后的安装包
Python-3.11.4.tar.xz			# 最初的从官网上下载的压缩包

2. 编译安装

[root@cs opt]# pwd
/opt
[root@cs opt]# cd Python-3.11.4/
[root@cs Python-3.11.4]# ./configure --prefix=/opt/python311/  && make && make install
[root@cs opt]# ls
Python-3.11.4				# 解压包解压后的安装包
python311                                 # 最终安装到系统中的Python11解释器目录
Python-3.11.4.tar.xz			# 最初的从官网上下载的压缩包

3. 添加环境变量和建立软连

[root@cs opt]# pwd
/opt
[root@cs opt]# vim /etc/profile

export PATH=/opt/python311/bin:$PATH

[root@cs opt]# source /etc/profile

# 删除可能存在一些其他版本的遗留的软连,然后重新建立软连接
[root@cs opt]# rm -rf /usr/bin/python3
[root@cs opt]# rm -rf /usr/bin/pip3
[root@cs opt]# ln -s /opt/python311/bin/python3 /usr/bin/python3
[root@cs opt]# ln -s /opt/python311/bin/pip3 /usr/bin/pip3

4. 测试

[root@cs opt]# python3 -V
Python 3.11.4
[root@cs opt]# pip3 -V
pip 23.1.2 from /opt/python311/lib/python3.11/site-packages/pip (python 3.11)

哦了。

ssl的问题

安装完了,但问题还是有的,貌似说是Python3.9之后,ssl这一块的规则改了,导致你用ssl就报错, 不信你导个ssl包试试报不报错,我情愿你不报错。 没问题的导包:

不报错,就不用往下看了。 但你很可能会遇到问题:

解决方法,百度一堆......不如stackoverflow好使...... 参考这个帖子解决的问题:stackoverflow.com/questions/4… 我这里也简单说下我的解决过程。

下载依赖:

yum install -y zlib zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

下载openssl的tar包,并且安装,如果openssl的tar包下载失败,可以从百度云盘链接中下载pan.baidu.com/s/1sape5Knm… 提取码:7nzz 下面的命令,直接无脑复制粘贴就行了。

wget --no-check-certificate http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile

然后重新编译Python:

./configure --prefix=/opt/python311/ --with-openssl=$HOME/openssl  && make && make install

[root@cs openssl-1.1.1]# cd ../Python-3.11.4
[root@cs Python-3.11.4]# ./configure --prefix=/opt/python311/ --with-openssl=$HOME/openssl  && make && make install

现在ssl导入就不报错了:

Mac OS

这里使用brew命令进行安装,如果你的系统没有安装brew,请在终端中使用下面命令安装或者参考官网,Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

测试homebrew是否安装成功,终端执行:

neeodeMac:~ neeo$ brew --version
Homebrew 2.2.9-23-g78140ce
Homebrew/homebrew-core (git revision 49aa8; last commit 2020-03-07)

接下来使用brew命令安装python3.7:

brew install python3

测试是否安装成功:

neeodeMac:~ neeo$ python3 -V
Python 3.7.6
neeodeMac:~ neeo$ pip3 -V
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

由于Mac 默认已经安装python2.7,所以,这里我们使用python3和pip3来使用python3和pip。

Windows

win10 + Python3.9.6 www.python.org/ftp/python/ www.python.org/ftp/python/…

这里以Python目前的最新版3.9.6版本为例,本教程也适用于Python3.x版本的安装。但推荐大家安装使用Python3.6及以上版本。 1. 访问这个地址:www.python.org/ftp/python/…选择带amd64标志的链接,下载解释器到本地

image

2. 双击下载到本地的可执行的安装文件,自定义安装Python解释器。按照下面图片的操作示例进行操作

  • Install lanuncher for users(recommended):这个选项如果无法勾选,一般是因为你的电脑中可能之前已经安装了,如果是新的环境,能勾选上就勾选上,不能勾选上也就算了,具体是干嘛的,参考:www.cnblogs.com/Neeo/articl…
  • Add Python3.9 to PATH:这个选项务必手动勾选,它的作用是勾选后,安装程序会自动地将Python安装目录和安装目录的Scritps目录添加到系统的环境变量中去,以便后续在整个系统中调用Python解释器和pip。当然,你这里不勾选,后续也可以自己去添加环境变量。

image

3. 可选特性窗口,能勾选的都勾选吧,然后选择Next 其中最重要的,也是务必勾选的:

  • Documentation:不用解释了吧,安装帮助文档。
  • pip:包管理工具,这个非常重要,勾选它。

image

4. 高级参数这里,打死都要勾选Install for all users,然后选择一个比较浅的目录中一般都是C盘根目录,或者下图中默认的目录中(Windows中64位软件的默认安装目录) PS:由于工作原因,我无数次的问小白:你的Python安装到哪了?都会得到否定的答案或者摸棱两可的答案。最后我发现,他们通常都是双击安装包,然后选择Install Now进行安装的,这种安装方式,会将Python安装到系统的当前用户中,且安装目录非常深,找起来特别麻烦!所以,还是自定义安装吧!!!

image 安装过程,不用管它: image

5. 安装成功,点击Close image

6. 打开终端进行测试 打开终端(cmd,win+r键输入cmd回车),输入:

python -V
pip -V

返回各自的版本号即可,如下图所示就说明安装成功: image

最后,继续在终端中输入下面的命令,将pip的版本升级到最新

python -m pip install --upgrade pip

PS:由于我们这里安装示例使用的是Python最新的版本,所以,pip的版本也是最新的,但是如果你安装的是其他的Python版本,将pip升级到最新是最好的,这样可避免一些模块安装失败的问题。

OK,Python解释器在Windows平台安装完成,安装过程非常的简单。


欢迎斧正,that's all