modbus-simulator icon indicating copy to clipboard operation
modbus-simulator copied to clipboard

Installation fails due to conflicting six version

Open NeolithEra opened this issue 5 years ago • 2 comments

Hi, users are unable to run modbus-simulator due to dependency conflict with six package. As shown in the following full dependency graph of modbus-simulator, modbus-simulator requires six==1.10.0,while pymodbus==2.1.0 requires six==1.11.0.

According to pip’s “first found wins” installation strategy, six==1.10.0 is the actually installed version. However, six==1.10.0 does not satisfy six==1.11.0.

Dependency tree

modbus-simulator-1.0.0
| +-click(version range:==7.0)
| +-cython(version range:==0.29.2)
| +-docutils(version range:==0.13.1)
| +-kivy(version range:==1.10.1)
| +-kivy-garden(version range:==0.1.4)
| +-pygame(version range:==1.9.4)
| +-pyglet(version range:==1.2.4)
| +-pygments(version range:==2.1.3)
| | +-coverage(version range:*)
| | +-nose(version range:*)
| | +-pyflakes(version range:*)
| | +-pylint(version range:*)
| | +-tox(version range:*)
| +-pymodbus(version range:==2.1.0)
| | +-six(version range:==1.11.0)
| +-pyserial(version range:==3.2.1)
| +-requests(version range:==2.12.4)
| +-six(version range:==1.10.0)

Thanks for your help. Best, Neolith

NeolithEra avatar Aug 05 '19 17:08 NeolithEra

Solution

Fix your direct dependency to be six==1.11.0. I have checked this revision will not affect your downstream projects now.

@dhoomakethu May I submit a PR to solve this issue?

NeolithEra avatar Aug 05 '19 17:08 NeolithEra

ISSUES

Hi, users are unable to run *modbus-simulator* due to dependency conflict with six package.

As shown in the following full dependency graph of *modbus-simulator*, *modbus-simulator* requires six==1.10.0,while *pymodbus==2.1.0* requires six==1.11.0.

modbus-simulator-1.0.0
| +-click(version range:==7.0)
| +-cython(version range:==0.29.2)
| +-docutils(version range:==0.13.1)
| +-kivy(version range:==1.10.1)
| +-kivy-garden(version range:==0.1.4)
| +-pygame(version range:==1.9.4)
| +-pyglet(version range:==1.2.4)
| +-pygments(version range:==2.1.3)
| | +-coverage(version range:*)
| | +-nose(version range:*)
| | +-pyflakes(version range:*)
| | +-pylint(version range:*)
| | +-tox(version range:*)
| +-pymodbus(version range:==2.1.0)
| | +-six(version range:==1.11.0)
| +-pyserial(version range:==3.2.1)
| +-requests(version range:==2.12.4)
| +-six(version range:==1.10.0)

Error

ERROR: Cannot install -r requirements (line 1) and six==1.10.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested six==1.10.0
    pymodbus 2.1.0 depends on six==1.11.0

Solution

We analyze your project according to the call graph, and now give you the following suggestion, loosen your direct dependency to be six==* . I have checked that this version will not affect the normal operation of your program

Thanks for your help. Best, SmartPycg

SmartPycg avatar May 18 '22 07:05 SmartPycg