Skip to content

textcat_goemotions - creation of training directory on Windows causes error - #42

Merged
svlandeg merged 3 commits into
explosion:v3from
ctufts:v3
Mar 2, 2021
Merged

textcat_goemotions - creation of training directory on Windows causes error#42
svlandeg merged 3 commits into
explosion:v3from
ctufts:v3

Conversation

@ctufts

@ctufts ctufts commented Mar 1, 2021

Copy link
Copy Markdown
Contributor

When running the textcat_goemotions example via python -m spacy project run all on Windows 10, the creation of the training directory causes an error due to the path structure on windows. The change in this PR uses python os.makedir to create the directory to make it OS agnostic. This is my first time contributing to this repo, so please let me know if there are any additional contributor gates I need to follow. Thanks.

The log of the original error seen is below:

ℹ Running workflow 'all'

================================= preprocess =================================
ℹ Skipping 'preprocess': nothing changed

=================================== train ===================================
Running command: mkdir -p training/cnn
Traceback (most recent call last):
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\__main__.py", line 4, in <module>
    setup_cli()
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\cli\_util.py", line 68, in setup_cli
    command(prog_name=COMMAND)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\typer\main.py", line 497, in wrapper
    return callback(**use_params)  # type: ignore
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\cli\project\run.py", line 41, in project_run_cli
    project_run(project_dir, subcommand, overrides=overrides, force=force, dry=dry)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\cli\project\run.py", line 75, in project_run
    project_run(project_dir, cmd, force=force, dry=dry, capture=capture)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\cli\project\run.py", line 91, in project_run
    run_commands(cmd["script"], dry=dry, capture=capture)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\cli\project\run.py", line 174, in run_commands
    run_command(command, capture=capture)
  File "C:\Users\ctufts\Anaconda3\envs\spacy3\lib\site-packages\spacy\util.py", line 832, in run_command
    ) from None
FileNotFoundError: [E970] Can not execute command 'mkdir -p training/cnn'. Do you have 'mkdir' installed?

@svlandeg svlandeg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! This cross-platform incompatibility was reported earlier in explosion/spaCy#6957 and updating this project is a nice contribution towards resolving that :-)

I'll just mark this as "request changes" as the training_directory variable is not yet used consistently.

Comment thread tutorials/textcat_goemotions/project.yml Outdated
Comment thread tutorials/textcat_goemotions/project.yml Outdated
@svlandeg svlandeg added the enhancement New feature or request label Mar 1, 2021
@svlandeg
svlandeg merged commit fdd9823 into explosion:v3 Mar 2, 2021
polm pushed a commit to polm/projects that referenced this pull request May 4, 2021
… error (explosion#42)

* altered mkdir script to run from python (i.e. to be os agnostic)

* added var and updated command, tested on windows and linux

* removed variable, reference training  directly

Co-authored-by: Tufts <ctufts@subaru.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants