繁体   English   中英

导入错误:没有名为 sysconfig 的模块——无法让 pip 工作

[英]ImportError: No module named sysconfig--can't get pip working

我真的在 RedHat 6.9 系统上与 pip 苦苦挣扎。 每次我尝试使用 pip 时,我都会得到

ImportError: No module named sysconfig

我尝试谷歌搜索解决方案。 我没有 apt-get 并且似乎无法通过 yum 获得它,因此清除 setuptools 是不可能的。 我尽力手动删除 setuptools 以便我可以重新安装它们,但是 yum 确信机器上仍然有 setuptools。

几乎所有涉及使用 yum 下载内容的建议对我都不起作用。 百胜总是说找不到我要找的东西。 因此,如果有一种方法可以在没有 yum 或 apt-get 的情况下下载某些内容(例如,不通过终端),那可能是最好的。

我的机器上有 Python 3 和 Python 2,所以我不知道这是否会改变你们给我的建议。

1000 感谢任何可以提供帮助的人! 现在我只能通过 anaconda 接口(例如 Jupyter notebooks 和 Spyder)来完成工作,这真的很有限。

编辑:这是我的错误跟踪:

Traceback (most recent call last):

  File "/usr/bin/pip2", line 5, in <module>

    from pkg_resources import load_entry_point

  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 947, in <module>

    class Environment(object):

  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 951, in Environment

    self, search_path=None, platform=get_supported_platform(),

  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 180, in get_supported_platform

    plat = get_build_platform()

  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 380, in get_build_platform

    from sysconfig import get_platform

ImportError: No module named sysconfig

编辑 2: @hoefling 要求我发布以下命令的输出; 第一的:

$ yum list installed | grep setuptools
*Note* Red Hat Network repositories are not listed below. You must run this command as root to access RHN repositories.
python-setuptools.noarch     0.6.10-4.el6_9      @ncep-base-x86_64-workstation-6

和:

$ grep ^Version: /usr/lib/python2.6/site-packages/setuptools-*.egg-info/PKG-INFO
grep: /usr/lib/python2.6/site-packages/setuptools-*.egg-info/PKG-INFO: No such file or directory

我在 redHat 服务器 6.9 上使用 python2.6 遇到了同样的错误:

pip version
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 947, in <module>
    class Environment(object):
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 951, in Environment
    self, search_path=None, platform=get_supported_platform(),
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 180, in get_supported_platform
    plat = get_build_platform()
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 380, in get_build_platform
    from sysconfig import get_platform
ImportError: No module named sysconfig

我删除了 :

rm /usr/lib/python2.6/site-packages/pkg_resources*

我重新安装了 python-setuptools

yum reinstall python-setuptools

修复后:

pip --version
pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)

试试

python3 -m ensurepip --default-pip

然后做

pip3 install [package]

这将指示 python 使用 pip3

我在 Cent6.9 上遇到了完全相同的问题,这里的说明并没有完全解决问题。 修复同样的问题,我需要备份我的整个 /usr/lib/python2.6/ 文件夹,并将它们复制到一个只有 yum、urlgrabber 和 rpmUtils 模块的新文件夹中(否则 yum 会中断)。

请记住,此修复程序可能会严重破坏您的系统(通过破坏 yum 或删除正在使用的 Python 模块)。 这将卸载每个 python 模块。 这也将卸载python34!

cd /usr/lib/
cp -a python2.6 python2.6-bak
cd /usr/lib/python2.6
rm -rf ./* #ow
cp -a /usr/lib/python2.6-bak/site-packages/yum /usr/lib/python2.6/
cp -a /usr/lib/python2.6-bak/site-packages/urlgrabber /usr/lib/python2.6/
cp -a /usr/lib/python2.6-bak/site-packages/rpmUtils /usr/lib/python2.6/
rpm -qa | grep python34 | xargs yum -y erase
rpm -qa | grep python | xargs yum -y reinstall
yum -y reinstall python-setuptools python2-setuptools python-pip

这里

当我遇到这个时,它是由 /usr/lib/python2.6/site-packages/pkg_resources/ 与 /usr/lib/python2.6/site-packages/pkg_resources.py 冲突引起的。 擦除目录允许一切像以前一样工作。 我认为 pip install 是原因,但不知道是哪个包。

也帮助了我 - rm -rf /usr/lib/python2.6/site-packages/pkg_resources使用风险自负! )。

尝试这个

完全删除python-setuptools并从/usr/lib/python2.6/site-packages/删除文件夹。

然后从site-packages文件夹中手动删除模块: pyOpenSSL在尝试升级它之后,一切都向南了。

rm -rf pyOpenSSL-18.0.0-py2.6.egg/

从 sudo python-setuptools安装回现在pip list可以列出模块,并且使用easy_install也不会再出现错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM