Ray: Can I ignore python version mismatch?

Created on 8 Feb 2019  路  5Comments  路  Source: ray-project/ray

System information

  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04 & 18.04
  • Ray installed from (source or binary): Binary for ubuntu 16.04, source for 18.04
  • Ray version: 0.6.3
  • Python version: 3.5.2 & 3.6.7
  • Exact command to reproduce: ray start --head & ray start --redis-address

Describe the problem

Hi!

I'm trying to make cluster between ubuntu 16.04 and 18.04 machines.

I just realized that two OS have different default python3 version (3.5.2 and 3.6.7) after installing everything.

And now ray says it can't connect because of python version mismatch

I assume that there are no big difference between 3.5.2 and 3.6.7 for running my codes so

I want to ignore the mismatching. Is there any way to do this?

Or is it impossible because of some ray internal mechanisms?

Any help will be appreciated. Thanks!

Source code / logs

Most helpful comment

Sorry to comment on this, but I do think the version mismatch check is too harsh... Having versions like 3.6.5 and 3.6.7 will lead to an error, but I guess the infrastructure should just work fine.

For me, I just modified
/usr/local/lib/python3.6/dist-packages/ray/services.py so I have

if version_info[:2] != true_version_info[:2]:
    #raise Exception(error_message)
    pass

It looks fine to me. Maybe that error message should be a warning instead?

All 5 comments

Also I wonder if using 3.5.2 and 3.5.6 causes same error

This might lead to trouble, since two different versions of pickle might produce incompatible serialized objects. I can understand if you can't upgrade the OS, but would it be possible to use Ray on Anaconda Python and install the same anaconda version on both machines? You can even install anaconda without root access by the way.

Thank you. Anaconda works well!

Sorry to comment on this, but I do think the version mismatch check is too harsh... Having versions like 3.6.5 and 3.6.7 will lead to an error, but I guess the infrastructure should just work fine.

For me, I just modified
/usr/local/lib/python3.6/dist-packages/ray/services.py so I have

if version_info[:2] != true_version_info[:2]:
    #raise Exception(error_message)
    pass

It looks fine to me. Maybe that error message should be a warning instead?

Hey just came across this issue. At the very least Ray should be able tolerate differing patch versions of Python between nodes. I'm running into a bit of a dependency headache caused by setting up gpu type nodes and cpu type nodes in Docker. The two types start of with different base Docker images and it's a bit difficult to get them both to have the same Python patch versions.

Was this page helpful?
0 / 5 - 0 ratings