pyscaffold/pyscaffoldext-dsproject

OSError: [WinError 1314] A required privilege is not held by the client: '..\\README.md' -> 'testprojds\\docs\\readme.md

abdalimran opened this issue · 5 comments

Description of your problem

I've installed pyscaffold dsproject using the command pip install --pre --upgrade pyscaffold[dsproject]

Then I ran the following command to create a new project.

putup --dsproject testprojds

It yielded the error: OSError: [WinError 1314] A required privilege is not held by the client: '..\\README.md' -> 'testprojds\\docs\\readme.md

Please provide the full traceback.

Traceback (most recent call last):
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffoldext\markdown\extension.py", line 200, in _symlink
    os.symlink(os.path.relpath(original_file, path.parent), path)
OSError: [WinError 1314] A required privilege is not held by the client: '..\\README.md' -> 'testprojds\\docs\\readme.md'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "c:\users\abdal\miniconda3\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\abdal\miniconda3\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\abdal\miniconda3\Scripts\putup.exe\__main__.py", line 7, in <module>
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\shell.py", line 113, in func_wrapper
    func(*args, **kwargs)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\exceptions.py", line 33, in func_wrapper
    func(*args, **kwargs)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\cli.py", line 263, in run
    main(args or sys.argv[1:])
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\cli.py", line 256, in main
    opts["command"](opts)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\cli.py", line 225, in run_scaffold
    api.create_project(opts)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\api.py", line 156, in create_project
    return reduce(actions.invoke, pipeline, ({}, opts))
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\actions.py", line 98, in invoke
    return action(*struct_and_opts)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\structure.py", line 203, in create_structure
    changed[name], _ = create_structure(node, opts, prefix=path)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\structure.py", line 206, in create_structure
    if file_op(path, content, opts):
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffold\operations.py", line 127, in _no_overwrite
    return file_op(path, contents, opts)
  File "c:\users\abdal\miniconda3\lib\site-packages\pyscaffoldext\markdown\extension.py", line 203, in _symlink
    raise SymlinkError(path, original_file) from ex
pyscaffoldext.markdown.extension.SymlinkError:     Impossible to create a symbolic link {testprojds\docs\readme.md => testprojds\README.md}.
    If you are using a non-POSIX operating system, please make sure that your user have
    the correct rights and that your system is correctly configured.

    Please check the following references:
    http://github.com/git-for-windows/git/wiki/Symbolic-Links
    https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/
    https://docs.microsoft.com/en-us/windows/win32/fileio/creating-symbolic-links

Please provide any additional information below.

Versions and main components

  • PyScaffold Version: 4.0.2
  • Python Version: 3.9.1
  • Operating system: Windows 10 Home
  • How did you install PyScaffold: pip

Hi, thanks for reporting. This is actually a problem in pyscaffoldext-markdown and is fixed on the master. What do you think @abravalheri, should we release a new minor version 0.5 of pyscaffoldext-markdown for PyScaffold 4.0.2 or rather together with PyScaffold 4.1?

Hi @FlorianWilhelm, I ended up releasing 4.1rc1 today just to check if we were not missing something, but in theory 4.1 is ready. Do pyscaffold-markdown rely on features introduced in 4.1 or is it backward compatible?

I tried also to propose a fix for one of the issues of pyscaffold-markdown, but that PR needs more work/discussion...

Hi @abravalheri, I think it should be backward compatible. The unit tests for our extensions always run against the current released version, which is 4.0.2 right now. Thus from my limited point of view, we can just release an update of this extension? What do you think?

Yes, backwards compatibility seems to be the case, so we don't have to wait to release.
BTW I am just waiting a few days to see if any issues appear and then publish the final 4.1 release.

As this is fixed, let's close this.