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

前端 未结 5 1072
再見小時候
再見小時候 2020-12-10 11:28

I had Python versions of 2.7 and 3.5. I wanted the install a newer version of Python which is python 3.8. I am using Ubuntu 16.04 and I can not just uninstall Python 3.5 due

相关标签:
5条回答
  • 2020-12-10 11:48

    In my case, removing python-pip-whl package helped:

    apt-get remove python-pip-whl
    

    It removed also pip and virtualenv, so I had to install them again:

    curl https://bootstrap.pypa.io/get-pip.py | python3
    pip install virtualenv
    
    0 讨论(0)
  • 2020-12-10 11:51

    The problem is that package.linux_distribution was deprecated starting with Python 3.5(?). and removed altogether for Python 3.8.

    Use the distro package instead. This package only works on Linux however.

    I ran into this problem after installing OpenCobolIDE on Linux Mint 20, having upgraded Python to the latest level. have submitted a code fix to the OpenCobolIDE author to review and test. I was able to get the IDE to start up and run with this fix.

    Essentially the fix uses the distro package if available, otherwise it uses the old platform package. For example:

    This code imports distro if available:

    import platform
    using_distro = False
    try:
        import distro
        using_distro = True
    except ImportError:
        pass
    

    Then you can test the value of using_distro to determine whether to get the linux distro type from package or distro, for example:

    if using_distro:
        linux_distro = distro.like()
    else:
        linux_distro = platform.linux_distribution()[0]
    
    0 讨论(0)
  • 2020-12-10 11:52

    It looks like at least on my Ubuntu 16.04, pip is shared for all Python versions in /usr/lib/python3/dist-packages/pip.

    This is what I did to get it working again:

    • sudo apt remove python3-pip
    • sudo python3.8 -m easy_install pip

    You might want to install the python 3.5 version of pip again with sudo python3.5 -m easy_install pip.

    0 讨论(0)
  • 2020-12-10 11:58

    Python 3.8 removed some stuff. I solved my problems with pip (specifically pip install) by installing pip with curl

    What worked for me was:
    cd ~/Downloads
    Downloading get-pip.py
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    Then running it with python 3.8:
    python3.8 get-pip.py

    Solved it for me.

    Source: https://pip.pypa.io/en/stable/installing/

    0 讨论(0)
  • 2020-12-10 12:08

    Check if your wheels installation is old. I was getting this same error and fixed it with

    python3.8 -m pip install --upgrade pip setuptools wheel

    Pylint seems to work on python3.8

    0 讨论(0)
提交回复
热议问题