Python多版本环境冲突致requests导入失败及pip报错求助
环境背景
- 开发环境:PyCharm中使用Python 3.6
- 系统已安装两个Python版本:
Controller$ python2 -V Python 2.7.17 Controller$ python3 -V Python 3.10.5
问题现象
- 脚本在本地控制台运行正常,但部署到
/var/www/html目录后,触发Traceback报错,核心为requests模块导入失败:Traceback (most recent call last): File "/home/doozie/Pycharm Projects/Python Learning/JA GAME/log2.py", line 5, in import requests
File "/usr/lib/python3/dist-packages/requests/init.py", line 43, in import urllib3 File "/usr/lib/python3/dist-packages/urllib3/init.py", line 8, in from .connectionpool import ( File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 29, in from .connection import ( File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 40, in from .util.ssl_ import ( File "/usr/lib/python3/dist-packages/urllib3/util/init.py", line 3, in from .connection import is_connection_dropped File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 3, in from .wait import wait_for_read File "/usr/lib/python3/dist-packages/urllib3/util/wait.py", line 1, in from .selectors import ( File "/usr/lib/python3/dist-packages/urllib3/util/selectors.py", line 14, in from collections.abc import namedtuple, MappingImportError: cannot import name 'namedtuple' - 注释
import requests语句后,脚本可正常运行,初步判断为Python版本环境配置冲突。
已尝试操作及异常反馈
- 执行
pip升级、pip install requests等命令时,要么提示依赖已满足,要么抛出如下错误:Controller$ sudo pip3 install requests [sudo] password for doozie: Traceback (most recent call last): File "/usr/bin/pip3", line 9, in <module> from pip import main File "/usr/lib/python3/dist-packages/pip/__init__.py", line 22, in <module> from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 73, in <module> vendored("pkg_resources") File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored __import__(modulename, globals(), locals(), level=0) File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 77, in <module> File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module> File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 672, in _load_unlocked File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/extern/__init__.py", line 43, in load_module File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/pyparsing.py", line 943, in <module> AttributeError: module 'collections' has no attribute 'MutableMapping - 因担心误操作破坏系统环境,寻求安全有效的解决方案。
内容的提问来源于stack exchange,提问作者BedSon

