fairseq: pip install on Windows gives permission errors accessing a temp folder through an Admin console
๐ Bug
pip install [-U [--force-reinstall]] fairseq
currently gives PermissionError: [WinError 5] Access is denied: 'fairseq\\examples'
. I have 0.9
installed, and trying to install 0.10
.
To Reproduce
Steps to reproduce the behavior (always include the command you ran):
- Open an admin console.
- Run cmd
pip install -U fairseq
- See error.
fairseq/examples
is under:
cwd: $HOME\AppData\Local\Temp\pip-install-18nls8px\fairseq
Stack trace: <detail>
ERROR: Command errored out with exit status 1:
command: '$HOME\AppData\Local\Continuum\anaconda3\envs\dev\python.exe' '$HOME\AppData\Local\Continuum\anaconda3\envs\dev\lib\site-packages\pip\_vendor\pep517\_in_process.py' get_requires_for_build_wheel '$HOME\AppData\Local\Temp\tmpprijkq_f'
cwd: $HOME\AppData\Local\Temp\pip-install-18nls8px\fairseq
Complete output (31 lines):
Traceback (most recent call last):
File "setup.py", line 214, in <module>
do_setup(package_data)
File "setup.py", line 191, in do_setup
zip_safe=False,
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\__init__.py", line 152, in setup
_install_setup_requires(attrs)
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\__init__.py", line 147, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\build_meta.py", line 60, in fetch_build_eggs
raise SetupRequirementsError(specifier_list)
setuptools.build_meta.SetupRequirementsError: ['cython', 'numpy', 'setuptools>=18.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "$HOME\AppData\Local\Continuum\anaconda3\envs\dev\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
main()
File "$HOME\AppData\Local\Continuum\anaconda3\envs\dev\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "$HOME\AppData\Local\Continuum\anaconda3\envs\dev\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 114, in get_requires_for_build_wheel
return hook(config_settings)
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\build_meta.py", line 150, in get_requires_for_build_wheel
config_settings, requirements=['wheel'])
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\build_meta.py", line 130, in _get_build_requires
self.run_setup()
File "$HOME\AppData\Local\Temp\pip-build-env-yuwvot27\overlay\Lib\site-packages\setuptools\build_meta.py", line 145, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 217, in <module>
os.unlink(fairseq_examples)
PermissionError: [WinError 5] Access is denied: 'fairseq\\examples'
----------------------------------------
ERROR: Command errored out with exit status 1: '$HOME\AppData\Local\Continuum\anaconda3\envs\dev\python.exe' '$HOME\AppData\Local\Continuum\anaconda3\envs\dev\lib\site-packages\pip\_vendor\pep517\_in_process.py' get_requires_for_build_wheel '$HOME\AppData\Local\Temp\tmpprijkq_f' Check the logs for full command output.
</detail>
Log under $HOME\AppData\Local\Temp\tmpprijkq_f
are inaccessible as the temp folder is auto deleted.
Code sample
Expected behavior
Updates normally.
Environment
- fairseq Version (e.g., 1.0 or master): 0.9.0
- PyTorch Version (e.g., 1.0) 1.7
- OS (e.g., Linux): Windows 10
- How you installed fairseq (
pip
, source): pip - Build command you used (if compiling from source): N/A
- Python version: 3.7.7
- CUDA/cuDNN version: N/A
- GPU models and configuration: N/A
- Any other relevant information: N/A
Additional context
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 3
- Comments: 18 (2 by maintainers)
Hi everybody !!
This problem has solved. Try to run this
pip install -v --no-cache-dir fairseq
Thanks
Using symlinks is generally not a cross-platform solution. I normally comment out the symlink lines in the
setup.py
@munael @fspanda.Thanks ! I confirm running the following command on Windows 10 with Git bash started as administrator and in a conda env worked :
pip install . --use-feature=in-tree-build
@tanujdhiman - Note that this โworksโ by trying to install 0.10.2, 0.10.1, then 0.10.0. It fails on the first two.
@lematt1991, Iโve created a simple pull request to show how this issue can be solved. Iโm just starting to work with fairseq, so not sure if this patch is good enough. LMK