centos环境python安装详细教程

本文详细介绍如何将OpenSSL从1.0.2版本升级到1.1.1及以上,并安装Python3.8和3.10版本的过程。包括安装依赖、下载与编译OpenSSL及Python源码包,配置环境变量等关键步骤。

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

升级openSSL

Python 2.7 至 Python 3.6 需要 OpenSSL 0.9.8 至 1.0.2 版本。
Python 3.7 支持 OpenSSL 1.0.2 和 1.1.x 系列,但推荐使用 1.1.x。
Python 3.8 及之后的版本 需要 OpenSSL 1.1.1 或更高版本。

# 1. 查看当前openssl的版本信息
openssl version #1.0.2 需要升级

# 2. 安装对应的依赖库
sudo yum -y groupinstall "Development tools"
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel make
sudo yum install zlib* -y
sudo yum install -y gcc gcc-c++ python-devel wget
sudo yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
 
# 3. 下载openssl安装文件
mkdir /usr/local/ssl
cd /usr/local/ssl
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

# 4. 解压安装openssl,并进入openssl的目录
tar -zxvf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN.UTF-8

./config --prefix=/usr/local/ssl/openssl shared zlib 
sudo make && make install

# 5. 备份当前openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

# 6. 配置使用新版本
ln -s /usr/local/ssl/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/openssl/include/openssl /usr/include/openssl

# 7. 更新动态链接库数据并重新加载
echo /usr/local/ssl/openssl/lib >> /etc/ld.so.conf
ldconfig -v

# 8. 查看是否升级成功
openssl version

# 9. 如果缺少libssl.s0.1.1
ln -s /usr/local/ssl/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

安装

1.1 安装依赖

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

yum install gcc gcc-c++ openssl-devel libffi-devel tk-devel

1.2 下载、解压

3.8

mkdir -p /usr/local/python3
cd /usr/local/python3
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
xz -d Python-3.8.5.tar.xz
tar -xvf Python-3.8.5.tar
cd Python-3.8.5

3.10

mkdir -p /usr/local/python3
cd /usr/local/python3
wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tar.xz
xz -d Python-3.10.9.tar.xz
tar -xvf Python-3.10.9.tar
cd Python-3.10.9

1.3 授权(谨慎操作)

sudo chmod -R 777 /usr/local/python3/Python-3.8.5

sudo chmod -R 777 /usr/local/python3

1.4 编译安装

3.8

./configure --prefix=/usr/local/python3/Python-3.8.5_build

# 如果您想要一个具有所有稳定优化活动(PGO 等)的发布版本,请运行 
./configure --enable-optimizations

make && make install

python3.8 解释器位置,一般是 /usr/local/bin/python3.8

3.10

./configure --prefix=/usr/local/python3/Python-3.10.9_build --with-ssl=/usr/local/ssl/openssl

make && make install

1.5 建立软连接

3.8

# 删除原来的软连接
rm -rf /usr/local/bin/python3.8
rm -rf /usr/local/bin/pip3.8

# 添加python3与pip3的软链接
ln -s /usr/local/python3/Python-3.8.5_build/bin/python3.8 /usr/local/bin/python3.8
ln -s /usr/local/python3/Python-3.8.5_build/bin/pip3.8 /usr/local/bin/pip3.8

3.10

# 删除原来的软连接
rm -rf /usr/local/bin/python10
rm -rf /usr/local/bin/pip10

# 添加新软链接
ln -s /usr/local/python3/Python-3.10.9_build/bin/python3.10 /usr/local/bin/python10
ln -s /usr/local/python3/Python-3.10.9_build/bin/pip3.10 /usr/local/bin/pip10

验证
3.8

python3.8 -V
pip3.8 -V

3.10

python10 -V
pip10 -V

2 报错处理

2.1

WARNING: The directory ‘/home/ubuntu/.cache/pip’ or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag

sudo chown -R ubuntu/home/ubuntu/.cache/pip/
sudo chown -R ubuntu/home/ubuntu/.cache/pip/http/

sudo chown -R ubuntu /home/ubuntu/.cache/pip/
sudo chown -R ubuntu /home/ubuntu/.cache/pip/http

sudo find / -name 'lsb_release.py'
sudo cp  /usr/share/pyshared/lsb_release.py /usr/local/soft/python3/lib/python3.7/

2.2 Redis _ssl

No module named ‘_ssl’

<think>嗯,用户想在CentOS安装Playwright for Python。首先,我得回忆一下CentOS的版本,用户提到的是CentOS 7.9,默认的软件包可能比较旧。Playwright需要Python 3.7以上,所以可能需要先安装较新的Python版本。另外,之前的引用里提到过glibc的问题,CentOS 7的glibc是2.17,而Playwright可能需要2.27以上,这可能需要升级glibc或者找到其他解决方法。 首先,安装Python 3.8或更高版本。根据引用中的步骤,用户可能需要通过源码编译安装Python,因为yum仓库里的版本可能不够新。记得安装依赖库,像zlib-devel、bzip2-devel这些,步骤在引用[2]里提到过。编译完成后要设置软链接,方便使用。 然后,安装Playwright。用pip安装playwright包之后,需要运行playwright install来安装浏览器二进制文件。但这里可能会遇到问题,比如glibc版本过低导致无法运行。这时候可能需要升级glibc,但升级glibc有一定风险,可能导致系统不稳定。或者有没有其他方法绕过?比如使用静态链接的浏览器版本,或者寻找替代方案? 另外,用户提到在云服务环境中遇到的问题,引用[3]和[4]都提到了glibc的问题。可能需要指导用户如何安全地升级glibc,或者建议他们使用Docker容器来避免系统库的问题。Docker可能是一个更安全的选项,因为可以在容器中使用较新的基础镜像,而不必修改宿主系统。 步骤可能需要这样安排:先安装Python 3.8+,然后安装Playwright,处理依赖问题,解决glibc的问题,或者建议Docker方式。如果用户坚持在宿主机安装,必须详细说明如何升级glibc,但需要警告风险。另外,安装必要的依赖如epel-release、开发工具等。 可能还需要安装Playwright的其他依赖,比如xvfb来运行无头浏览器,或者处理其他系统包。比如,安装依赖库如libX11、libXcomposite等,这些可能在Playwright的文档中有提到。 总结步骤: 1. 安装Python 3.8+,按照引用[2]的步骤编译安装。 2. 安装系统依赖,如epel、开发工具等。 3. 使用pip安装playwright。 4. 运行playwright install,处理可能出现的glibc错误。 5. 如果出现glibc版本问题,建议升级glibc(有风险)或使用Docker。 6. 验证安装是否成功,运行测试脚本。 需要提醒用户升级glibc的风险,可能影响系统稳定性,推荐使用容器化方案。此外,检查是否有其他依赖项缺失,比如字体库或其他浏览器所需的库。 可能用户遇到的问题还包括网络问题,下载Python源码或浏览器二进制文件时可能需要代理或者镜像源。此外,安装过程中可能需要配置环境变量,比如将Python的路径添加到PATH中。 最后,生成相关问题,比如如何解决glibc问题,如何用Docker安装,或者性能优化等。</think>### 在 CentOS安装 Playwright for Python详细教程 #### 1. 安装 Python 3.8+ 由于 CentOS 7 默认 Python 版本较低(2.7),需手动安装 Python 3.8+: ```bash # 安装依赖库(引用[2]的步骤) yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make yum -y install epel-release # 下载并编译 Python 3.8 wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tar.xz tar -xvf Python-3.8.16.tar.xz cd Python-3.8.16 ./configure --prefix=/usr/local/python3 make && make install # 配置软链接(引用[2]) ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3 ``` #### 2. 解决 glibc 版本问题 CentOS 7 默认 glibc 版本为 2.17,需升级至 2.27+(需谨慎操作): ```bash # 下载 glibc 2.34 源码并编译 wget http://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.gz tar -xzf glibc-2.34.tar.gz cd glibc-2.34 mkdir build && cd build ../configure --prefix=/usr make -j4 && make install ``` **注意**:升级 glibc 可能导致系统不稳定,建议在测试环境中操作或改用 Docker(见下文)[^3][^4]。 #### 3. 安装 Playwright 通过 pip 安装 Playwright 并下载浏览器: ```bash # 安装 playwright pip3 install playwright # 安装浏览器二进制文件(需 glibc 2.27+支持) playwright install chromium ``` 若出现 `GLIBCXX` 错误,需升级 GCC: ```bash # 安装 devtoolset-9(引用[1]) yum install centos-release-scl yum install devtoolset-9 scl enable devtoolset-9 bash ``` #### 4. 验证安装 创建测试脚本 `test_playwright.py`: ```python from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("https://example.com") print(page.title()) browser.close() ``` 运行脚本: ```bash python3 test_playwright.py ``` 若输出 `Example Domain` 表示成功。 #### 5. 备选方案:使用 Docker 为避免系统库冲突,推荐使用 Docker: ```Dockerfile FROM python:3.8-slim RUN pip install playwright && \ playwright install chromium && \ playwright install-deps ``` 构建镜像后直接运行 Playwright 脚本,无需修改宿主机环境。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有勇气的牛排

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

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

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

打赏作者

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

抵扣说明:

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

余额充值