首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pip3错误: AttributeError:模块'platform‘没有属性'linux_distribution'?(ubuntu 20.04与python 3.8)

pip3错误: AttributeError:模块'platform‘没有属性'linux_distribution'?(ubuntu 20.04与python 3.8)
EN

Stack Overflow用户
提问于 2020-11-05 07:58:35
回答 1查看 4.9K关注 0票数 0

我想我在requirement.txt文件中安装了一些软件包时弄乱了一些python文件。

现在,在尝试安装或卸载任何内容时,我会得到以下错误:

例如,当尝试在没有sudo的情况下卸载matplotlib时,可以使用pip3卸载matplotlib (甚至我以前从未使用sudo卸载任何内容):

代码语言:javascript
运行
复制
Found existing installation: matplotlib 3.3.1
Uninstalling matplotlib-3.3.1:
  Would remove:
    /usr/local/lib/python3.8/dist-packages/matplotlib-3.3.1-py3.8-linux-x86_64.egg
Proceed (y/n)? y
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.8/shutil.py", line 788, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/matplotlib-3.3.1-py3.8-linux-x86_64.egg' -> '/tmp/pip-uninstall-nw393b36'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 228, in _main
    status = self.run(options, args)
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", line 89, in run
    uninstall_pathset = req.uninstall(
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 686, in uninstall
    uninstalled_pathset.remove(auto_confirm, verbose)
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", line 394, in remove
    moved.stash(path)
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", line 283, in stash
    renames(path, new_path)
  File "/home/john/.local/lib/python3.8/site-packages/pip/_internal/utils/misc.py", line 352, in renames
    shutil.move(old, new)
  File "/usr/lib/python3.8/shutil.py", line 800, in move
    rmtree(src)
  File "/usr/lib/python3.8/shutil.py", line 715, in rmtree
    _rmtree_safe_fd(fd, path, onerror)
  File "/usr/lib/python3.8/shutil.py", line 672, in _rmtree_safe_fd
    onerror(os.unlink, fullname, sys.exc_info())
  File "/usr/lib/python3.8/shutil.py", line 670, in _rmtree_safe_fd
    os.unlink(entry.name, dir_fd=topfd)
PermissionError: [Errno 13] Permission denied: 'pylab.py'

当尝试使用sudo时:

代码语言:javascript
运行
复制
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.8/dist-packages/pip/commands/uninstall.py", line 46, in run
    with self._build_session(options) as session:
  File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 66, in _build_session
    session = PipSession(
  File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 321, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 93, in user_agent
    zip(["name", "version", "id"], platform.linux_distribution()),
AttributeError: module 'platform' has no attribute 'linux_distribution'
Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 33, in <module>
    sys.exit(load_entry_point('pip==20.3.dev0', 'console_scripts', 'pip3')())
  File "/usr/local/lib/python3.8/dist-packages/pip/__init__.py", line 217, in main
    return command.main(cmd_args)
  File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 242, in main
    with self._build_session(
  File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 66, in _build_session
    session = PipSession(
  File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 321, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 93, in user_agent
    zip(["name", "version", "id"], platform.linux_distribution()),
AttributeError: module 'platform' has no attribute 'linux_distribution'

我怎么才能解决这个问题?我使用的是ubuntu20.04,我听说卸载python3.8是一个很大的no,因为很多系统文件都使用它,那么我该怎么办呢?

在类似的问题上尝试了许多建议,但都没有奏效:

How to fix "module 'platform' has no attribute 'linux_distribution'" when installing new packages with Python3.8?

EN

回答 1

Stack Overflow用户

发布于 2022-06-15 01:44:02

Python3.8删除了一些内容。我用pip (特别是pip安装)解决了我的问题,方法是用curl安装pip。

对我起作用的是: cd ~/下载下载getpip.py

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

然后用python 3.8运行它:

python3.8 get-pip.py

帮我解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64693212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档