First time install "SyntaxError: Missing parentheses in call to 'exec'"

I’ve installed Rasa according to the getting started guides both here: https://rasa.com/docs/rasa/user-guide/installation/ and here: https://rasa.com/docs/rasa/user-guide/installation/#installation-guide

I’m running python 3.7.5 and pip 19.3.1

When I install Rasa and then call Rasa init, I get the following error:

import decorator

File “C:\Program Files\helium\heliumlib\decorator.py”, line 156 exec code in evaldict ^ SyntaxError: Missing parentheses in call to ‘exec’

That seems to suggest that python version 2 is missing, but Rasa has a pre-req of python 2. This happens regardless of whether I run rasa in venv or not.

Can you post a full traceback of what happens when you run rasa init? also the output of which rasa?

C:\WINDOWS\system32>where rasa
C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts\rasa.exe

C:\WINDOWS\system32>python --version && pip --version
Python 3.7.5
pip 19.3.1 from c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

H:\Public\Projects\Rasa>rasa init
Welcome to Rasa! 🤖

To get started quickly, an initial project will be created.
If you need some help, check out the documentation at https://rasa.com/docs/rasa.
Now let's start! 👇🏽

? Please enter a path where the project will be created [default: current directory] .
? Directory 'H:\Public\Projects\Rasa' is not empty. Continue?  Yes
Created project directory at 'H:\Public\Projects\Rasa'.
Finished creating project structure.
Training an initial model...
Training Core model...
Traceback (most recent call last):
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts\rasa.exe\__main__.py", line 7, in <module>
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\__main__.py", line 76, in main
    cmdline_arguments.func(cmdline_arguments)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\cli\scaffold.py", line 195, in run
    init_project(args, path)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\cli\scaffold.py", line 113, in init_project
    print_train_or_instructions(args, path)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\cli\scaffold.py", line 50, in print_train_or_instructions
    args.model = rasa.train(domain, config, training_files, output)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\train.py", line 45, in train
    kwargs=kwargs,
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\asyncio\base_events.py", line 579, in run_until_complete
    return future.result()
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\train.py", line 96, in train_async
    kwargs,
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\train.py", line 182, in _train_async_internal
    kwargs=kwargs,
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\train.py", line 217, in _do_training
    kwargs=kwargs,
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\train.py", line 346, in _train_core_with_validated_data
    kwargs=kwargs,
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\train.py", line 43, in train
    policies = config.load(policy_config)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\config.py", line 28, in load
    return PolicyEnsemble.from_dict(config_data)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\policies\ensemble.py", line 320, in from_dict
    constr_func = registry.policy_from_module_path(policy_name)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\registry.py", line 21, in policy_from_module_path
    module_path, lookup_path="rasa.core.policies.registry"
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\utils\common.py", line 184, in class_from_module_path
    m = importlib.import_module(lookup_path)
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\policies\registry.py", line 5, in <module>
    from rasa.core.policies.embedding_policy import EmbeddingPolicy
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\core\policies\embedding_policy.py", line 24, in <module>
    from rasa.utils import train_utils
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\rasa\utils\train_utils.py", line 9, in <module>
    from tensor2tensor.models.transformer import (
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensor2tensor\models\__init__.py", line 25, in <module>
    from tensor2tensor.layers import modalities  # pylint: disable=g-import-not-at-top
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensor2tensor\layers\modalities.py", line 28, in <module>
    from tensor2tensor.layers import common_attention
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensor2tensor\layers\common_attention.py", line 32, in <module>
    from tensor2tensor.layers import area_attention
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensor2tensor\layers\area_attention.py", line 23, in <module>
    from tensor2tensor.layers import common_layers
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensor2tensor\layers\common_layers.py", line 30, in <module>
    import tensorflow_probability as tfp
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\__init__.py", line 75, in <module>
    from tensorflow_probability.python import *  # pylint: disable=wildcard-import
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\__init__.py", line 21, in <module>
    from tensorflow_probability.python import bijectors
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\bijectors\__init__.py", line 23, in <module>
    from tensorflow_probability.python.bijectors.absolute_value import AbsoluteValue
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\bijectors\absolute_value.py", line 23, in <module>
    from tensorflow_probability.python.bijectors import bijector
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\bijectors\bijector.py", line 33, in <module>
    from tensorflow_probability.python.internal import distribution_util
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\internal\distribution_util.py", line 29, in <module>
    from tensorflow_probability.python.internal import prefer_static
  File "c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\tensorflow_probability\python\internal\prefer_static.py", line 22, in <module>
    import decorator
  File "C:\Program Files\helium\heliumlib\decorator.py", line 156
    exec code in evaldict
            ^
SyntaxError: Missing parentheses in call to 'exec'

Great, thank you! can you also post the rasa and tensorflow versions installed wherever you are running the command?

C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts\rasa.exe

What is the venv part of this location, is your venv called Python37? (sorry, not a windows native :smiley:)

Rasa version is 1.4.0 Tensorflow is 1.14.0

C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts\rasa.exe is just where rasa is installed on my machine.

I’m running from H:\Public\Projects\Rasa (with venv as a directory under that, which was created by following the steps located here: Installation)

Okay, but you didn’t run where rasa or python --version && pip --version in that directory that you’re running rasa init in, is it possible to do that? Just to see if it is different from the system standard on your machine

Oh, sure. That’s not really how windows works, but here, it is the same:

C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts>where rasa
C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts\rasa.exe

C:\Users\andy.hamilton\AppData\Local\Programs\Python\Python37\Scripts>python --version && pip --version
Python 3.7.5
pip 19.3.1 from c:\users\andy.hamilton\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

(That is true whether I have the venv running or now, only copying the one)

Haha I actually meant doing it where you are running rasa init (i.e. H:\Public\Projects\Rasa>), not where your rasa is installed :sweat_smile:Totally ok if that doesn’t make sense in windows though

It’s the same regardless, but it would only matter if I actually had python installed in my Rasa directory (I don’t, it was empty before the install). It returns exactly the same thing.

Okay, that’s really strange. You say here

Missing parentheses in call to ‘exec’

That seems to suggest that python version 2 is missing, but Rasa has a pre-req of python 2. 

I assume you mean python 3 in this case…

I’m notivcing that the entire traceback starts in c:\users\andy.hamilton but when we import decorator, it’s grabbing it from C:\Program Files. Perhaps that is the file that is somehow written in python 2?

What version of decorator shows up in your environment? mine is 4.4.0.