You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CPython上安装networkx?SSL模块缺失致安装失败求助

解决CPython环境下无法安装networkx的问题

你的报错核心是当前CPython环境缺失SSL模块,导致pip无法通过HTTPS连接PyPI源,进而无法下载安装networkx。结合你使用的macOS Catalina 10.15.4,我整理了以下步骤来解决:

1. 确认SSL模块是否确实缺失

打开终端运行以下命令,检查当前python3环境能否正常加载SSL:

python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"

如果出现ModuleNotFoundError或其他报错,说明确实存在SSL模块缺失的问题,继续下一步。

2. 修复SSL模块问题(两种常见场景)

场景一:使用系统自带的Python3

macOS Catalina自带的Python环境权限受限,且可能缺少完整的SSL支持,最简便的方式是用Homebrew重新安装带完整SSL的Python:

  • 若未安装Homebrew,可在终端执行官方安装脚本:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 用Homebrew安装Python:
    brew install python
    
    安装完成后,Homebrew的Python会默认覆盖python3命令(若未生效,可尝试执行brew link python修复路径),这个环境自带完整的SSL支持和对应版本的pip。

场景二:自行编译的CPython

如果是你自己编译的CPython,编译时可能未指定OpenSSL路径,导致SSL模块未被编译进去:

  • 先通过Homebrew安装OpenSSL(提供编译依赖):
    brew install openssl
    
  • 进入你的CPython源码目录,重新编译并指定OpenSSL路径:
    ./configure --with-openssl=/usr/local/opt/openssl
    make && make install
    
    编译完成后,新的CPython环境就会带有SSL模块了。

3. 安装networkx

修复SSL问题后,运行以下命令安装networkx(注意用python3 -m pip确保调用的是当前环境的pip,避免环境混乱):

python3 -m pip install networkx

4. 验证安装成功

运行以下命令确认networkx已正确安装:

python3 -c "import networkx; print(networkx.__version__)"

如果能正常输出版本号,说明安装成功,此时再运行你的GED_optima.py应该就不会出现ModuleNotFoundError了。

另外补充一点:你之前用的python3 -m pip3 install networkx语法有误,-m后面应跟模块名pip而非pip3,用python3 -m pip能更精准绑定当前Python环境的pip工具,避免多环境冲突。

内容的提问来源于stack exchange,提问作者Olha Kholod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 12:43:12