https://dagster.io/ logo
t

Tommy Naugle

08/20/2019, 2:26 PM
Hello, all. I'm having trouble getting the dagit Hello World to work on my Windows conda installation. I've made a conda environment called dagster, then conda installed pip in the environment and pip installed dagster and dagit in the environment. I am able to successfully run
dagster pipeline execute -f hello_world.py -n hello_world_pipeline
in the environment, but running
dagit -f hello_world.py -n hello_world_pipeline
yields a missing command error:
'dagit' is not recognized as an internal or external command, operable program or batch file.
I've tried doing this in an Anaconda prompt as an administrator, and I've tried adding the
[conda path]/envs/dagster/Scripts
folder (which contains the
dagit-cli
windows executable) to PATH but this still yields the same error. I have also tried creating the env and pip-installing packages while in an administrator prompt, but get the same error. Thank you for your time.
a

alex

08/20/2019, 3:13 PM
Hi Tommy, I don't have windows currently set up, but let's see how much I can help. So if you do
pip show dagit
you can see where the dagit package is. In that folder
bin/dagit
is the python file that should execute. Could you try and execute that directly and see if it works on windows? I am trying to discern whether this is a pathing issue or if it is just not executable on windows.
here is what that looks like for me https://dagster.phacility.com/P17
t

Tommy Naugle

08/20/2019, 3:20 PM
Thank you for the response. Which of the python files should I execute?
running
pip show dagit
shows me that dagit lives in
[env path]/Lib/site-packages/
and the parent folder has python scripts
__init__, __main__, app, cli, subscription_server, version
and folders
__pycache__, schema, templates, webapp
a

alex

08/20/2019, 3:33 PM
oh, i was checking my
-e
editable install for development, let me check a real install
do you see both
dagit
and
dagit-cli
in that Scripts folder?
Copy code
(prod) ~:$ ls /Users/alangenfeld/venvs/prod/bin/dagit*
/Users/alangenfeld/venvs/prod/bin/dagit     /Users/alangenfeld/venvs/prod/bin/dagit-cli
t

Tommy Naugle

08/20/2019, 4:00 PM
yes, although the
dagit
file has no extension and the
dagit-cli
is an .exe
a

alex

08/20/2019, 4:01 PM
what happens if you execute those directly?
for context:
dagit-cli
does the real work,
dagit
is a wrapper script that restarts when files have changed for an improved dev experience. If
dagit-cli
works and
dagit
does not you should be able to proceed (while we work on fixing)
t

Tommy Naugle

08/20/2019, 4:03 PM
when I run
dagit-cli
in the
Scripts
directory, I get the following:
Loading repository...
Traceback (most recent call last):
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\tnaugle\AppData\Local\Continuum\anaconda3\envs\dagster\Scripts\dagit-cli.exe\__main__.py", line 9, in <module>
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagit\cli.py", line 146, in main
cli = create_dagit_cli()
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagit\cli.py", line 30, in create_dagit_cli
return ui(auto_envvar_prefix='DAGIT')  # pylint: disable=no-value-for-parameter
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\click\core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagit\cli.py", line 107, in ui
host_dagit_ui(log, log_dir, schedule_dir, handle, sync, host, port)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagit\cli.py", line 121, in host_dagit_ui
app = create_app(handle, pipeline_run_storage, use_synchronous_execution_manager=use_sync)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagit\app.py", line 159, in create_app
version=__version__,
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster_graphql\implementation\context.py", line 25, in __init__
self.repository_definition = self.get_handle().build_repository_definition()
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster\core\definitions\handle.py", line 290, in build_repository_definition
obj = self.entrypoint.perform_load()
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster\core\definitions\handle.py", line 339, in entrypoint
return self.data.get_repository_entrypoint(from_handle=self)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster\core\definitions\handle.py", line 410, in get_repository_entrypoint
return LoaderEntrypoint.from_yaml(self.repository_yaml, from_handle=from_handle)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster\core\definitions\handle.py", line 78, in from_yaml
config = load_yaml_from_path(file_path)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster\lib\site-packages\dagster\utils\yaml_utils.py", line 37, in load_yaml_from_path
with open(path, 'r') as ff:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\tnaugle\\AppData\\Local\\Continuum\\anaconda3\\envs\\dagster\\Scripts\\repository.yaml'
a

alex

08/20/2019, 4:06 PM
alright so that works, and
dagit
? I think running
dagit-cli -f hello_world.py -n hello_world_pipeline
where you were originally doing the tutorial should unblock you.
t

Tommy Naugle

08/20/2019, 4:09 PM
running
python dagit
? I get this:
Traceback (most recent call last):
File "dagit", line 66, in <module>
handler.start()
File "C:\Users\tnaugle\AppData\Local\Continuum\anaconda3\envs\dagster\lib\site-packages\watchdog\tricks\__init__.py", line 147, in start
self.process = subprocess.Popen(self.command, preexec_fn=os.setsid)
AttributeError: module 'os' has no attribute 'setsid'
Using
dagit-cli
in place of
dagit
for the hello world tutorial works! Thank you so much for your time, Alex.