Skip to content

Windows: Error 183 ("already exists") when installing prebuilt node #249

@na-Itms

Description

@na-Itms

Hello, thanks for this tool!

I am having a puzzling issue on Windows when trying to setup a new environment. nodeenv doesn't manage to install node, as if it was trying to override an existing directory. I am using Windows 10. Here are the reproduction steps, with printed version numbers for relevant tools.

C:\Users\Nicolas\Desktop>virtualenv --version
16.7.9

C:\Users\Nicolas\Desktop>virtualenv test-env
Using base prefix 'c:\\program files\\python38'
New python executable in C:\Users\Nicolas\Desktop\test-env\Scripts\python.exe
Installing setuptools, pip, wheel...
done.

C:\Users\Nicolas\Desktop>.\test-env\Scripts\activate

(test-env) C:\Users\Nicolas\Desktop>python --version
Python 3.8.1

(test-env) C:\Users\Nicolas\Desktop>pip install nodeenv
Collecting nodeenv
  Using cached nodeenv-1.3.4-py2.py3-none-any.whl (21 kB)
Installing collected packages: nodeenv
Successfully installed nodeenv-1.3.4

(test-env) C:\Users\Nicolas\Desktop>nodeenv --version
1.3.4

(test-env) C:\Users\Nicolas\Desktop>nodeenv -p
 * Install prebuilt node (13.7.0) ....
Traceback (most recent call last):
  File "c:\program files\python38\Lib\runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\program files\python38\Lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Nicolas\Desktop\test-env\Scripts\nodeenv.exe\__main__.py", line 7, in <module>
  File "c:\users\nicolas\desktop\test-env\lib\site-packages\nodeenv.py", line 1113, in main
    create_environment(env_dir, opt)
  File "c:\users\nicolas\desktop\test-env\lib\site-packages\nodeenv.py", line 936, in create_environment
    install_node(env_dir, src_dir, opt)
  File "c:\users\nicolas\desktop\test-env\lib\site-packages\nodeenv.py", line 700, in install_node
    install_node_wrapped(env_dir, src_dir, opt)
  File "c:\users\nicolas\desktop\test-env\lib\site-packages\nodeenv.py", line 728, in install_node_wrapped
    copy_node_from_prebuilt(env_dir, src_dir, opt.node)
  File "c:\users\nicolas\desktop\test-env\lib\site-packages\nodeenv.py", line 612, in copy_node_from_prebuilt
    os.makedirs(dest)
  File "c:\users\nicolas\desktop\test-env\lib\os.py", line 221, in makedirs
    mkdir(name, mode)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'c:\\users\\nicolas\\desktop\\test-env\\Scripts'

Of course the folder exists, as it's a part of the python virtualenv. As you can see I did not try anything too fancy, and there are no spaces in my paths.

Thanks in advance for the help, and let me know if you want me to test other things.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions