源码安装Python学会有用还能装逼 | 解决各种坑

本文详细介绍了在Windows、MacOS和Linux环境下安装Python的步骤,包括使用官方安装包、源码编译安装及其遇到的问题和解决方法。在Linux中,特别强调了升级GCC、安装依赖库以及配置多版本Python共存的方法。此外,还提到了虚拟环境的创建与管理,以及解决Python模块导入时可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信朋友们都看过这个零基础学习Python的开篇了

文章为了让新朋友快速写Python代码,直接推荐了绿色内置版安装。很多时候比如在正式服务器环境,我们是使用rpm或者指定版本源码编译打包基础服务器镜像的。

从简到难,先从安装包来安装python,后面在Linux安装并使用。

最后是源码安装的方式,如下图Linux服务器多个Python版本兼容

在这里插入图片描述
好下面一步一步来。

开发者电脑安装

Window电脑,这个比较简单,我们进入Python官网,找到Installer下载安装。

如下图,一般都是64位的选择圈中的64-bit下载。
在这里插入图片描述
这个是exe文件,所以就一步一步直接安装即可。

或者直接这个链接下载:https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64.exe

本机安装,我们的目标是使用Python开发,一步一步直接设置默认的就最好!(也就是环境变量也不用去定制了)

MacOS如何安装Python

下载pkg文件,一步一步安装,同上,基本不用自己配置环境变量!

https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg

最难的来了。

源码安装Python?

这种安装就比较多步骤了,tar包编译安装,然后配置环境。

这种过程多,能够学到很多。

源码安装python可能遇到的多个问题

  • python版本过新,导致安装过程缺少一些c代码的方法或者.h文件缺失

  • 安装过程缺少一些python开发相关的库,比如想zlib或者ffi库等

ZipImportError: cannot’ decompress data; zilib not available
在这里插入图片描述

比如下面的代码致命错误ffi.h(当然下面的错误是因为libffi这库没有预装了)
在这里插入图片描述

准确点说,主要是下面两个问题:

  • 代码要求高版本的gcc,当前系统的过于陈旧!
  • python开发依赖缺失了,当前系统没有安装!

但是问题不大,迎难而上,还好不是迎男而上。

升级gcc,需要root

切换为root用户安装

yum install -y centos-release-scl
 
yum install -y devtoolset-7-gcc*
 
scl enable devtoolset-7 bash
 
gcc -v
#学委的代码分享

安装缺失的开发依赖库

切换为root用户安装

#这里距离
yum install -y libffi-devel.x86_64
yum -y install zlib*

升级完gcc和依赖后可以安装了

直接报存下面的代码为install.sh,然后运行安装吧。

#从这里下载安装
curl -k  https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz -o leixuewei-python.tar.xz
#解压  tarball
#xz -dk leixuewei-python.tar.xz
tar xf leixuewei-python.tar.xz
#配置安装
cd Python-3.9.6
./configure --prefix=/opt/python3.9.6
make
sudo make install

安装后使用

打开任意终端/CMD输入:python
在这里插入图片描述
安装顺利,能够查到版本号码。

可以这样设置(不影响Python2)

这种可以对某个特定用户设置python3,而且不影响其他用户使用python2

首先需要root用户在python3安装路径创建软连接

cd /opt/python3.9.6/bin
ln -s python3 python
ln -s pip3 pip

对某个用户的.bash_profile中添加设置PYTHONHOME和PATH,把bin目录放在path的最前面(至少要在搜索python2,也就是/usr/bin目录之前)

#比如xuewei这个用户
PYTHONHOME=/opt/python3.9.6
PATH=$PYTHONHOME/bin:$PATH

成功设置:

在这里插入图片描述

也可以这样设置

上面源码编译后二进制文件为python3,我们希望在任意目录输入python都能调用python3。

可以切换到root用户,通过下面的命令设置:

cd /usr/bin
unlink python
ln -s /opt/python3.9.6/bin/python3 python
ln -s /opt/python3.9.6/bin/pip3 pip

执行后,我们打开一个终端输入python就用上python3了。
在这里插入图片描述

再回来说环境变量

重点变量作用Linux示例设置
PYTHONPATHPython模块的搜索路径export PYTHONPATH=/leixuewei/packages

PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径。

PYTHONHOME为PYTHON的安装路径,默认设置为python的安装路径。

使用Python

安装虚拟环境,并创建一个项目:

pip install virtualenv
mkdir py-selenium
cd py-selenium && virtualenv .

比如在使用viritualenv创建虚拟环境遇到下面的问题:

ModuleNotFoundError: No module named ‘_ssl’
在这里插入图片描述

yum install openssl-devel
cd ~/Python-3.9.6
./configure --prefix=/opt/python3.9.6
make
sudo make install

activate 虚拟环境:

在这里插入图片描述
到这里证明我们整个安装是顺利,而且可用的。

题外话

不过我们在服务器端,主要是以Linux服务器安装Python为主。

同时在大公司,服务器成百上千不在话下,语言和软件都是有统筹管理的。就算是自动化安装也是把这个手动过程编写为自动化脚本或者配置比如Ansible。

或者用Docker镜像,但这些方式本质也是走服务器安装的方式,只是被打包到镜像了。

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷学委

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值