ubuntu

如何配置Ubuntu上的Python网络库

小樊
38
2025-10-31 08:55:38
栏目: 编程语言

一、基础环境准备

1. 安装Python与pip

Ubuntu系统通常预装Python 3,可通过python3 --version验证版本(建议使用Python 3.6及以上)。若未安装或需更新,执行以下命令:

sudo apt update
sudo apt install python3 python3-pip

pip是Python包管理工具,安装Python 3时会自动安装python3-pip,可通过pip3 --version验证。

2. 配置虚拟环境(可选但推荐)

为避免项目间依赖冲突,建议使用venv创建虚拟环境:

# 创建虚拟环境(如命名为myenv)
python3 -m venv myenv
# 激活虚拟环境
source myenv/bin/activate
# 停用虚拟环境(使用时输入deactivate)

激活后,所有通过pip install安装的库将仅存在于当前虚拟环境中。

二、安装常用Python网络库

根据需求选择合适的网络库,以下是常见库的安装方法:

三、网络配置与安全设置

1. 配置防火墙(UFW)

Ubuntu默认使用ufw(Uncomplicated Firewall)管理防火墙,需允许常用网络端口:

# 允许SSH(22端口,远程登录)
sudo ufw allow 22/tcp
# 允许HTTP(80端口,网页服务)
sudo ufw allow 80/tcp
# 允许HTTPS(443端口,加密网页服务)
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 查看防火墙状态
sudo ufw status

注意:生产环境中需根据实际需求调整端口开放策略,避免过度暴露。

2. 配置网络接口(静态IP/自定义设置)

若需设置静态IP或修改网络参数,编辑Netplan配置文件(通常位于/etc/netplan/目录,如01-netcfg.yaml):

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:  # 网卡名称(通过ip a查看)
      dhcp4: no  # 关闭DHCP(静态IP需设置为no)
      addresses:
        - 192.168.1.100/24  # 静态IP地址及子网掩码
      gateway4: 192.168.1.1  # 网关地址
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS服务器

保存后应用配置:

sudo netplan apply

提示:修改前建议备份原配置文件(cp /etc/netplan/01-netcfg.yaml ~/01-netcfg.yaml.bak)。

四、编写与测试网络程序

1. 基础HTTP请求示例(使用requests库)

创建test_requests.py文件,内容如下:

import requests

try:
    # 发送GET请求
    response = requests.get('https://www.example.com', timeout=5)
    response.raise_for_status()  # 检查状态码(非200则抛出异常)
    print(f"Status Code: {response.status_code}")
    print(f"Response Content: {response.text[:200]}...")  # 打印前200字符
except requests.exceptions.HTTPError as errh:
    print(f"HTTP Error: {errh}")
except requests.exceptions.ConnectionError as errc:
    print(f"Connection Error: {errc}")
except requests.exceptions.Timeout as errt:
    print(f"Timeout Error: {errt}")
except requests.exceptions.RequestException as err:
    print(f"Other Error: {err}")

运行脚本:

python3 test_requests.py

若正常,将输出HTTP状态码及网页片段内容。

2. 基础Socket编程示例(TCP服务器/客户端)

测试方法

五、常见问题排查

0
看了该问题的人还看了