hello! i'm trying to test out dagster on a GCP AI...
# announcements
hello! i'm trying to test out dagster on a GCP AI platform notebook. the notebooks come installed with python 3.5.3. following the demo here: https://medium.com/dagster-io/dagster-0-6-0-impossible-princess-898b459375e0 when I run
Copy code
dagit -f hello_world.py -n define_hello_world_repo
I get a
RecursionError: maximum recursion depth exceeded in __instancecheck__
error, in this file: /usr/lib/python3.5/typing.py was wondering if you think this is a compatibility issue with python 3.5.3. the docs say dagster is tested against 3.5.7
fyi, i'm interacting with this machine through the terminal (not a jupyter notebook)
what version of dagster are you using?
following the stack trace, it looks like these are the problematic pieces of code: python3.5/site-packages/dagster/core/types/typing_api.py", line 40,
Copy code
def is_closed_python_optional_type(ttype):
    # Optional[X] is Union[X, NoneType] which is what we match against here
    origin = _get_origin(ttype)
    return origin == typing.Union and len(ttype.__args__) == 2 and ttype.__args__[1] == type(None)
/usr/lib/python3.5/typing.py", line 760
Copy code
def __eq__(self, other):
        if not isinstance(other, _Union):
            return self._subs_tree() == other
        return self.__tree_hash__ == other.__tree_hash__
any thoughts on a solution would be appreciated. excited to test out dagster!
^^ @schrockn
Can you share the full stack trace in a gist?
@alex ^^
indeed a bug fixed in
is there no way to manipulate the python version in that GCP AI platform notebook setting?
it's proven to be challenging, @alex. but, if that's the only route we've got, we can pursue it. is that what you'd suggest?
Assuming you can find a way, I believe thats your fastest path forward. We could potentially try to workaround by restructuring some of our code but we probably wont be pushing out a new version for a bit here due to holidays
whoever runs into this issue, note that these days ai platform instances support python 3.7, you just need to create the new one. I wasn't aware of that thus was still using 3.5 instance. 🤦 it's such a relief now
🙌 2