简体   繁体   中英

ROS Melodic python versions conflict (--unmet dependencies)

I have ROS-Melodic installed on my Ubuntu 18.04. It comes with python2.7 by default. And I installed python3.8 using the following steps by mistake -

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar xzf Python-3.8.0
cd Python-3.8.0
sudo ./configure --enable-optimizations
sudo make altinstall
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
sudo make altinstall

After that, whatever I install or update on my terminal, it gives me Unmet Dependencies error -

$ sudo apt-get update && sudo apt-get upgrade
Hit:1 http://mirrors.piconets.webwerks.in/ubuntu-mirror/ubuntu bionic InRelease
Hit:2 http://mirrors.piconets.webwerks.in/ubuntu-mirror/ubuntu bionic-updates InRelease
Hit:3 https://download.docker.com/linux/ubuntu bionic InRelease                    
Hit:4 http://mirrors.piconets.webwerks.in/ubuntu-mirror/ubuntu bionic-backports InRelease
Hit:5 http://mirrors.piconets.webwerks.in/ubuntu-mirror/ubuntu bionic-security InRelease
Hit:6 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic InRelease              
Hit:7 http://dl.google.com/linux/chrome/deb stable InRelease                       
Hit:8 http://dl.winehq.org/wine-builds/ubuntu bionic InRelease                     
Hit:9 http://ppa.launchpad.net/fingerprint/fingerprint-gui/ubuntu bionic InRelease 
Hit:10 https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04 ./ InRelease
Hit:11 http://ppa.launchpad.net/micahflee/ppa/ubuntu bionic InRelease              
Hit:12 http://ppa.launchpad.net/openshot.developers/ppa/ubuntu bionic InRelease    
Hit:13 http://packages.ros.org/ros/ubuntu bionic InRelease                         
Hit:14 http://wiki.jderobot.org/apt bionic InRelease                     
Reading package lists... Done                       
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
bzr : Depends: python:any
cython : Depends: python (< 2.8) but 3.8.0-1 is installed
      Depends: python:any (< 2.8)
      Depends: python:any (>= 2.7.5-5~)
googletest : Depends: python:any
libboost-mpi-python1.65.1 : Depends: python (< 2.8) but 3.8.0-1 is installed
                         Depends: python:any (< 2.8)
                         Depends: python:any (>= 2.7.5-5~)
mercurial : Depends: python (< 2.8) but 3.8.0-1 is installed
         Depends: python:any (< 2.8)
         Depends: python:any (>= 2.7~)
mercurial-common : Depends: python:any (< 2.8)
                Depends: python:any (>= 2.7.5-5~)
python-all : Depends: python (= 2.7.15~rc1-1) but 3.8.0-1 is installed
python-all-dev : Depends: python (= 2.7.15~rc1-1) but 3.8.0-1 is installed
python-asn1crypto : Depends: python:any (< 2.8)
                 Depends: python:any (>= 2.7.5-5~)
python-attr : Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
python-autobahn : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-automat : Depends: python:any (< 2.8)
              Depends: python:any (>= 2.7.5-5~)
python-backports.functools-lru-cache : Depends: python:any (< 2.8)
                                    Depends: python:any (>= 2.7.5-5~)
python-bzrlib : Depends: python (< 2.8) but 3.8.0-1 is installed
             Depends: python:any (>= 2.6.6-7~)
python-cairo : Depends: python (< 2.8) but 3.8.0-1 is installed
            Depends: python:any (< 2.8)
            Depends: python:any (>= 2.7.5-5~)
python-catkin-pkg : Depends: python (< 2.8) but 3.8.0-1 is installed
python-catkin-pkg-modules : Depends: python (< 2.8) but 3.8.0-1 is installed
                         Depends: python:any (>= 2.6.6-7~)
python-cbor : Depends: python (< 2.8) but 3.8.0-1 is installed
           Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
python-cffi-backend : Depends: python (< 2.8) but 3.8.0-1 is installed
                   Depends: python:any (< 2.8)
                   Depends: python:any (>= 2.7~)
python-chardet : Depends: python:any (< 2.8)
              Depends: python:any (>= 2.7.5-5~)
python-click : Depends: python:any (< 2.8)
            Depends: python:any (>= 2.7.5-5~)
python-colorama : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-concurrent.futures : Depends: python:any (< 2.8)
                         Depends: python:any (>= 2.7.5-5~)
python-configobj : Depends: python (< 2.8) but 3.8.0-1 is installed
python-constantly : Depends: python:any (< 2.8)
                 Depends: python:any (>= 2.7.5-5~)
python-crypto : Depends: python (< 2.8) but 3.8.0-1 is installed
             Depends: python:any (< 2.8)
             Depends: python:any (>= 2.7.5-5~)
python-cryptography : Depends: python (< 2.8) but 3.8.0-1 is installed
                   Depends: python:any (< 2.8)
                   Depends: python:any (>= 2.7.5-5~)
python-cycler : Depends: python:any (< 2.8)
             Depends: python:any (>= 2.7.5-5~)
python-dateutil : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-dbus : Depends: python (< 2.8) but 3.8.0-1 is installed
           Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
python-defusedxml : Depends: python:any (< 2.8)
                 Depends: python:any (>= 2.7.5-5~)
python-dev : Depends: python (= 2.7.15~rc1-1) but 3.8.0-1 is installed
python-docutils : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-empy : Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
python-enum34 : Depends: python:any (< 2.8)
             Depends: python:any (>= 2.7.5-5~)
python-gi : Depends: python (< 2.8) but 3.8.0-1 is installed
         Depends: python:any (< 2.8)
         Depends: python:any (>= 2.7.5-5~)
python-gnupg : Depends: python:any (< 2.8)
            Depends: python:any (>= 2.7.5-5~)
python-gobject-2 : Depends: python (< 2.8) but 3.8.0-1 is installed
                Depends: python:any (< 2.8)
                Depends: python:any (>= 2.7.5-5~)
python-gtk2 : Depends: python (< 2.8) but 3.8.0-1 is installed
           Depends: python:any (>= 2.6.6-7~)
python-httplib2 : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-hyperlink : Depends: python:any (< 2.8)
                Depends: python:any (>= 2.7.5-5~)
python-idna : Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
python-incremental : Depends: python:any (< 2.8)
                  Depends: python:any (>= 2.7.5-5~)
python-ipaddress : Depends: python:any (< 2.8)
                Depends: python:any (>= 2.7.5-5~)
python-keyring : Depends: python:any (< 2.8)
              Depends: python:any (>= 2.7.5-5~)
python-keyrings.alt : Depends: python:any (< 2.8)
                   Depends: python:any (>= 2.7.5-5~)
python-launchpadlib : Depends: python:any (< 2.8)
                   Depends: python:any (>= 2.7.5-5~)
python-lazr.restfulclient : Depends: python:any (< 2.8)
                         Depends: python:any (>= 2.7.5-5~)
python-lazr.uri : Depends: python:any (< 2.8)
               Depends: python:any (>= 2.7.5-5~)
python-yaml : Depends: python (< 2.8) but 3.8.0-1 is installed
           Depends: python:any (< 2.8)
           Depends: python:any (>= 2.7.5-5~)
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Any idea on how to solve this python versions conflict? Any help is really appreciated.

Sometimes it happens that when installing ros dependencies for python3 some of the original ros packages gets removed. Normally the terminal gives a prompt " that the following packages will be removed " before removing them. But most people will not notice the prompt before installation and misses out.

Running installation command for ROS again is the solution as in following commands.

sudo apt-get install ros-melodic-desktop-full --fix-missing

You can try with the following commands while using python3 along with python2.7 which comes with ROS.

sudo apt-get install python3-rospkg*
sudo apt-get update --fix-missing
sudo dpkg --configure -a
sudo apt-get install -f
sudo apt update

# install ros again as some packages are removed while installing python3-rospkg*
sudo apt-get install ros-melodic-desktop-full --fix-missing

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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